シリーズ「Ruby1.9、Windowsで」です。
前回、流れを書いて、コメントの書き方までやったので、今日は、
2-1.定数
と
2-2-1.1変数のあらわし方
のあたりをいきます。
今回も、irb(インタープリタで、すぐ確認できるやつ)を使い
お勉強資料に、
オブジェクト指向スクリプト言語 Ruby リファレンスマニュアル
http://www.ruby-lang.org/ja/man/html/index.html
を使います。
■リテラル
数字は、
12345
とか、
-678.9
のように、ふつうにかける。
あと、1.2e-3のように、eを使った表現方法もできる。
16進の場合は 0x33 のように、0xをつけ、
2進の場合は 0b11 のように、0bをつけ、
8進の場合は 0o67 のように、0oをつける。
8進は、067のように、0を頭に付けるのでもOK
文字列は、'(シングルクオート)で囲んでも
"(ダブルクウォート)でかこんでも
文字列となるが、ちょっと意味が違い、""で囲むと、
#{ }の中カッコで囲まれた中を展開する。
なので、
puts '1+1=#{1+1}'
は、
1+1=#{1+1}
と表示されますが、
puts "1+1=#{1+1}"
は、
1+1=2
と表示されます。
くわしくは、ここ参照。
■定数
ここでいう定数とは、リテラルのことではなく、
Javaなんかだと、
public static final int err_nofile = -1;
とか宣言するような定数のことみたい。
で、定数は、最初の1文字目が大文字だそうです。型とか宣言しないで、すぐに使えるみたい。
Test=5
puts Test
とやると、5と表示されます。
で、定数なので、ここのあと、
Test=6
とやると、当然ワーニングがでるんだけど、
そのあと、
puts Test
とやると、6と表示される。
つまり、値をセットすると、ワーニングがでるものの、入ってしまうわけで、
それっていいんかい(^^;)と思うけど・・ま、気にしないと(^^;)
■変数
まず、ローカル変数というのは、1文字目アルファベット小文字です。
test=5
puts test
とやると、5と表示され、変数ですので、
test=6
puts test
とやると、なにも問題なく、6と表示されます。
ちなみに、1文字目が$はグローバル変数です
$test=5
puts $test
とやると、5と表示され、変数ですので、
$test=6
puts $test
とやると、なにも問題なく、6と表示されます。
うん?ローカルとグローバルでどこが違うの・・・
といわれると、「見える範囲が違う」と答えなければいけないのですが、
そう答えてしまうと、その範囲を説明するのに、
3-1-6.クラス、構造体、メモリなどの処理
を説明しないといけないので、その「クラス」を説明した後に、この変数のところは説明します。
で、それを説明すると、のこりの、インスタンス変数、クラス変数も説明できますので、そのときにあわせて説明します。
くわしくは、ここ参照。
なお、今回の例は数字でしたが、もちろん、
test='Hello World'
puts test
のように、文字列でもOKです。ちなみに上記は、
Hello World
と出力されます。
こんかいはここまで。