「英小文字」または「_」で始めます。
(宣言した位置から)その変数が宣言されたブロック、メソッド定義、クラス/モジュール定義の終わりまでとなります。
class Test
#ローカル変数定義(1)
my_hobby_1 = "ゲーム"
#メソッド定義
def out_my_hobby
#my_hobby_1を出力
#スコープ範囲外のローカル変数参照→エラーとなる
puts my_hobby_1
#ローカル変数定義(2)
my_hobby_2 = "読書"
#my_hobby_2を出力→出力される
puts my_hobby_2
end
end
#クラスインスタンス生成
test = Test.new
#out_my_hobbyメソッドを実行
test.out_my_hobby
「@」で始めます。
インスタンス内の全メソッドで共通して使用できます。インスタンスごとに固有になります。
class Test
#メソッド インスタンス変数に値をセット
def set_my_hobby(name)
#インスタンス変数定義
@my_hobby = name
end
#メソッド インスタンス変数を出力
def out_my_hobby
puts @my_hobby
end
end
#クラスインスタンス生成(1)
test_1 = Test.new
#(1)set_my_hobbyメソッドを実行
test_1.set_my_hobby("ゲーム")
#クラスインスタンス生成(2)
test_2 = Test.new
#(2)set_my_hobbyメソッドを実行
test_2.set_my_hobby("読書")
#(1)out_my_hobbyメソッドを実行→「ゲーム」
test_1.out_my_hobby
#(2)out_my_hobbyメソッドを実行→「読書」
test_2.out_my_hobby
「@@」で始めます。
クラス、および、そのクラスから生成されるインスタンスで共有されます。
class Test
#メソッド クラス変数に値をセット
def set_my_hobby(name)
#クラス変数定義
@@my_hobby = name
end
#メソッド クラス変数を出力
def out_my_hobby
puts @@my_hobby
end
end
#クラスインスタンス生成(1)
test_1 = Test.new
#(1)set_my_hobbyメソッドを実行
test_1.set_my_hobby("ゲーム")
#(1)out_my_hobbyメソッドを実行
#(1)"ゲーム"が出力される
test_1.out_my_hobby
#クラスインスタンス生成(2)
test_2 = Test.new
#(2)set_my_hobbyメソッドを実行 クラス変数が"ゲーム"から"読書"に書き換えられる
test_2.set_my_hobby("読書")
#(2)out_my_hobbyメソッドを実行
#(2)"読書"が出力される
test_2.out_my_hobby
#(1)test_1インスタンスでも"読書"が出力される
test_1.out_my_hobby
「$」で始めます。
グローバル変数は、その「グローバル」の名の通りに、オブジェクトの壁も乗り越えて、プログラムのどこからでも共有されます。
class Test
#グローバル変数定義
$my_hobby = "ゲーム"
#メソッド グローバル変数を出力
def out_my_hobby
puts $my_hobby
end
end
#クラスインスタンス生成
test = Test.new
#out_my_hobbyメソッドを実行
test.out_my_hobby
2018年03月22日(木)17:00~18:30 AP品川 9階 にて「スマホアプリの開発プロセスについて~実は重要なサーバーサイドの開発と、Laravel(PHP) と Rails(Ruby)~」と題したセミナーを開催しました。 当日は、会場の様子をWebで中継し 遠隔地等ご来場出来ない方にもご参加頂きました。お陰様で、盛況のうちに終了することができました。ありがとうございました。 講...
OSS×Cloud ACCESS RANKING