ruby の変数: 定数やグローバル変数、ちゃんと勉強しないといつか足をすくわれる
メモというか日記。
ruby には、ローカル変数やインスタンス変数やなんたらかんたらがあるらしい。このうち、僕が使ったことがあるのは、ローカル変数と定数 (僕はよくパラメータと呼ぶ。これは FORTRAN の影響)、グローバル変数の 3 種類。クラス変数やインスタンス変数は関数やクラス、オブジェクト等をまだマジメにやってないので今は必要ない。(いずれ学ぶ必要あり) 今のところ、こういうことかなあと理解していること (必ずしも正しくない) を以下に記す。
ローカル変数
- 先頭の文字は小文字かアンダースコア('_')
- メインプログラムで定義したローカル関数は、メソッド定義の中まで持ち越されない
- メソッド定義の中で定義したローカル関数は、メソッド定義の外まで持ち越されない
- each などのイテレート部分でなんらかの変更がある場合は、each の前のメインプログラム部分で定義しておかないと、each ブロックが終わった後まで持ち越されない (よく分からない…)
グローバル変数
- '$' が先頭文字
- メソッド定義の中へ、引数引渡しをしなくても、引き渡せる