整数値と実数値 ( Integer and Double )
整数の内部表現はC言語の int を利用しています。実数の内部表現はC言語の double を利用しています。(必要に応じて、自動型変換が行われます。)
a=+100 , b=3.14 # 数値には、整数(int)と実数(double)があります。
c=a+b # 数値は、必要に応じて自動型変換されます。(変数 c は実数となります。)
x=1/3 # 整数同士の演算は整数となります。
y=1/3.0 , z=1.0/3.0 # それ以外の演算は実数となります。
i=0b11 , j=0o77 , k=0xFF # 2進数、8進数、16進数の指定例です。
x=-1.0E+99 , y=+1E-7 # (指数表現)実数の指定例です。
文字と文字列 ( Character and String )
文字の内部表現は整数となります。文字列の内部表現はC言語の文字列を利用しています。ただし、メモリ管理(確保・開放・サイズ調整等)の操作は一切必要ありません。
s1="AIR-Lang\n" # 文字列は2重引用符で囲みます。(エスケープ文字はC言語のものと同じです。)
s2=[[AIR-Lang
]] # 文字列を[[と]]で囲んだ場合は、複数行に渡り文字列を記述することができます。
s3=s1 # 文字列の代入は、元の文字列の copy が代入されます。
s4=s1+s2 # 文字列の演算も、元の文字列の copy に対して行われます。
c1='X' # 文字は整数(ASCIIコード値)と同じです。1重引用符で囲みます。
c2='\n' # C言語と同じエスケープ文字が使えます。
配列とハッシュ ( Array and Hash )
配列とハッシュ(連想配列)には、区別はありません。添字のデータ型や次元数は自由に設定できます。また、要素のデータ型も自由に設定できます。
a[0]=00, a[1]=11, a[2]=22, a[5]=55 # 配列は添字と値を指定して設定します。
a={00,11,22,,,55} # 初期値を一括指定することも可能です。
b["US"]=0, b["EU"]=1, b["JP"]=2 # 配列とハッシュの区別はありません。(統一的に扱えます。)
b={"US"->0,"EU"->1,"JP"->2} # 初期値を一括指定することも可能です。
c[0]=00,c[1]=11,c["TEST"]="???" # 配列的な要素とハッシュ的な要素は混在させることが可能です。
c[1,2,3,"TEST"]="OK" # 多次元配列は添字をコンマで区切って指定します。
配列名は配列要素へのリファレンス情報(アドレス管理情報)のみを保持します。よって配列名をコピーしたとしても、配列要素はコピーされません。
d=c # 配列名をコピーします。(リファレンス情報のみのコピーです。)
d[2,4,6,"TEST"]="NG" # 配列 d への操作は配列 c への操作と同じ意味になります。