.. index:: 
	single: 入門 - 第三形式; はじめに

===============
入門 - 第三形式
===============

.. index:: 
	pair: 入門 - 第三形式; Hello World

Hello World
===========

このプログラムは、 Hello World のメッセージを画面表示します (標準出力)。

.. code-block:: ring

	load "stdlib.ring"

	print("Hello World")

.. index:: 
	pair: 入門 - 第三形式; プログラムの実行

プログラムの実行
================

プログラムを実行するには、ファイルにコードを保存します。例えば : hello.ring です。
コマンドラインまたはターミナルから、 Ring でプログラムを実行します (事前に ring/bin フォルダのパスを追加してください)。

.. code-block:: ring

	ring hello.ring

.. note:: Ring ノートパッドでもコードの記述と実行ができます (パスの設定は不要です)。

.. index:: 
	pair: 入門 - 第三形式; 実行可能ファイルの作成

実行可能ファイルの作成
======================

Ring2EXE でアプリケーションの実行可能ファイルを作成します。

.. code-block:: ring

	ring2exe hello.ring -static

-static オプションは ring.dll|ring.so|ring.dylib が不要になります。

しかし stdlib.ring の読み込みがライブラリで必要になることがあります (LibCurl, OpenSSL, MySQL など)。

その場合はライブラリが必要になります！

これらのライブラリを不要にするためには (stdlib クラスが不要ならば)、

この用例の通り stdlib.ring ではなく stdlibcore.ring を使います。

.. code-block:: ring

	load "stdlibcore.ring"

	print("Hello World")

stdlibcore.ring を使うと stdlib クラスではなく stdlib 関数へアクセスします。

stdlib.ring を用いてアプリケーションを配布したい場合は、

.. code-block:: ring

	ring2exe hello.ring -dist -allruntime -noqt -noallegro

.. index:: 
	pair: 入門 - 第三形式; 英数大小文字同一視

英数大小文字同一視
==================

Ring は英数大小文字同一視です。同じプログラムを違う記法で書くこともできます。

.. tip:: 全てのプログラムのソースコードで同じ記法を一つ選択することをお勧めします。

.. code-block:: ring

	LOAD "stdlib.ring"
	PRINT("Hello World")

.. code-block:: ring

	Load "stdlib.ring"
	Print("Hello World")


.. index:: 
	pair: 入門 - 第三形式; 複数行リテラル

複数行リテラル
==============

この用例のとおり、複数行リテラルを記述できます。

.. code-block:: ring

	Load "stdlib.ring"
	Print("
		Hello 
		Welcome to the Ring programming language
		How are you?

	    ")

また、 \\n で改行の挿入、
および #{変数名} で変数の値を挿入できます。 


.. code-block:: ring

	Load "stdlib.ring"
	Print( "Hello\nWelcome to the Ring programming language\nHow are you?")

.. index:: 
	pair: 入門 - 第三形式; 標準入力の取得

標準入力の取得
==============

getstring() 関数はユーザからの標準入力を取得します。

.. code-block:: ring

	Load "stdlib.ring"
	Print("What is your name? ")
	cName = GetString()
	Print("Hello #{cName}")

.. index:: 
	pair: 入門 - 第三形式; 文末終端子は明示不要

文末終端子は明示不要
====================

ステートメントを区切るために ‘;’ の記述、または ENTER を押さなくてもいいです。
前述のプログラムは一行で記述できます。

.. code-block:: ring

	Load "stdlib.ring"
	Print("What is your name? ") cName=getstring() print("Hello #{cName}")

.. index:: 
	pair: 入門 - 第三形式; コメントの記述

コメントの記述
================

一行コメントと複数行コメントを記述できます。

一行コメントは # または // で始まります。

複数行コメントは /* ～ \*/ です。

.. code-block:: ring

	/* 
		プログラムの名前    : はじめての Ring プログラム
		日付                : 2016.09.09
		作者                : Mahmoud Fayed
	*/

	Load "stdlib.ring"

	Print("What is your name? ")    # 画面へメッセージを表示
	cName=GetString()               # ユーザからの標準入力を取得
	print("Hello #{cName}")         # こんにちわ！

	// print("Bye!")

.. note:: // による一行コメントは一種のコード記法です。

