0
Help us understand the problem. What are the problem?

More than 1 year has passed since last update.

posted at

updated at

Ruby のローカル変数名は小文字で始めなければならない,はウソ

Ruby の初心者向け記事によく

変数名は小文字で始めなければならない

ということが書かれています。
ここでいう「変数名」は「ローカル変数の名前」のことでしょうね。変数にはグローバル変数やインスタンス変数もあるので,ローカル変数なら「ローカル変数」と書いたほうがいいと思います。

それはさておき,「小文字で始めなければならない」は誤りです。
まず,アンダースコア(_)で始めることが可能です。
それから,やろうと思えば非 ASCII 文字を使うことも可能です。

年齢 = 108
나이 = 108
aĝo = 108
වයස = 108

この四つの行はすべてローカル変数への代入です。
全角スペースなんかも使えます。まあやめといたほうがいいでしょうけど。

ただし,非 ASCII 文字であっても,大文字で始まっていたら定数です。

# ギリシャ文字の例
ηλικία = 108
Ηλικία = 108

# 全角英字の例
Age = 108

p defined?(ηλικία) #=> "local-variable"
p defined?(Ηλικία) # => "constant"
p defined?(Age) # => "constant"
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Sign upLogin
0
Help us understand the problem. What are the problem?