.. _basic-commands-lesson-label: ============== 基本コマンド ============== このレッスンは約10分で完了します。 解説 ########### このページでは、Mプログラミングする際に必要とされる最初の基本コマンドについて説明します。 ここでは以下のことを前提とします: * 既に `GT.M`_ コンパイラがあなたのシステムにインストールされている * bashやzshのようなシェルインタプリタでLinuxシステムが実行できている GT.Mは、コンパイラとインタプリタの両方が使えます。つまり、インタプリタ上で直接Mコードを記述し実行したり、ソースファイルにMコードを書き、コンパイルして実行するという、どちらも行うことができます。 インタプリタでの作業で、このレッスンでフォーカスする最初の例を示します。これはGT.Mで `ダイレクト`_ モードと呼ばれています。 .. _ダイレクト: http://tinco.pair.com/bhaskar/gtm/doc/books/pg/UNIX_manual/ch04.html#Operate_in_Direct_Mode .. _GT.M: http://tinco.pair.com/bhaskar/gtm/doc/books/pg/UNIX_manual/ch01.html Mインタプリタを起動 ####################### シェルから、以下のように入力してGT.Mインタプリタを起動します。 :: $ gtm ここでは、$ 記号は、Linuxシェルのプロンプト記号であることを前提としています。 レスポンスは、GT.Mプロンプトが表示されます。 :: GTM> この時点で、現在使用しているGT.Mコンパイラのバージョンをコンソールに表示するには、次のコマンドを試すことができます。 :: GTM> WRITE $ZVERSION レスポンスは、システムに、以下のようなメッセージが出力されます。 :: GTM> WRITE $ZVERSION GT.M V5.5-000 Linux x86_64 GTM> そして、GT.Mプロンプトが再び表示されます。 変数の取り扱い ################## `変数名`_ は、Mでは、文字、または、%文字で開始しなければなりません、そして、文字や数字を続ける必要があります。 .. _変数名: http://tinco.pair.com/bhaskar/gtm/doc/books/pg/UNIX_manual/ch05s02.html 例 :: %TIME NAME NAME123 Name12first SET コマンド ############### :ref:`set-command-label` は変数の値をセットするために使用されます。 例: :: GTM> SET SUM=0 GTM> SET NAME="Linus Torvalds" GTM> SET YEAR=1984 * 変数は事前に定義されている必要はありません。 * 変数が以前に定義されていない場合、SETコマンドは変数を作成します。 * Mでは唯一、変数の型があります : それは `文字列`_ 型です。 * 変数は、コンテキストに応じて数値として解釈されます。 .. _文字列: http://tinco.pair.com/bhaskar/gtm/doc/books/pg/UNIX_manual/ch05.html#Data_Types スペースについて重要な事 ######################## `コマンド`_ は、ただ1つスペースだけで、それら引数と分離しなければなりません。 .. _コマンド: http://tinco.pair.com/bhaskar/gtm/doc/books/pg/UNIX_manual/ch05s07.html SETコマンドと変数名の間には、唯一1つのスペースがあることに注意してください。 :: GTM> SET NAME="Linus Torvalds" 次に、 * 変数名と "="記号の間にスペースは入れてはいけません。 * "=" 記号と値の間にスペースは入れてはいけません。 WRITE コマンド ################# :ref:`write-command-label` は、標準出力に変数の値をプリントします。 スペースの同じルールは、WRITEコマンドに適用されます。WRITEコマンドとその引数の間に、唯一スペースがなければなりません。 :: GTM> WRITE NAME Linus Torvalds または :: GTM> WRITE YEAR 1984 または :: GTM> WRITE SUM 0 複数のエレメントは、カンマでそれらを区切ることにより、同じWRITEコマンドで組み合わせることができます。 :: GTM> WRITE "My Name is: ",NAME My Name is: Linus Torvalds 感嘆符記号("!")は、プリントの出力時に新しい行を挿入するために使用できます。 :: GTM> WRITE "My Name is: ",!,NAME My Name is: Linus Torvalds HALT コマンド ################ インタプリタを終了するには、 :ref:`halt-command-label` を使用します。 :: GTM> HALT これは、シェルインタープリタのコマンド プロンプトに戻ります。 次のレッスン: :ref:`basic-coding-style-lesson-label`