Ruby Language
定数
サーチ…
構文
- MY_CONSTANT_NAME = "私の値"
備考
定数は、APIキーなどのプログラムで誤って変更したくない値がある場合にRubyで便利です。
定数を定義する
MY_CONSTANT = "Hello, world" # constant
Constant = 'This is also constant' # constant
my_variable = "Hello, venus" # not constatn
定数名は大文字で始まります。大文字で始まるものはすべてRubyではconstant
とみなされます。したがって、 class
とmodule
も一定です。ベストプラクティスは、定数を宣言するすべての大文字を使用することです。
定数を変更する
MY_CONSTANT = "Hello, world"
MY_CONSTANT = "Hullo, world"
変数を使用して値を変更する必要があるため、上記のコードでは警告が表示されます。しかし、次のように警告なしで定数で一度に1文字を変更することは可能です:
MY_CONSTANT = "Hello, world"
MY_CONSTANT[1] = "u"
今、 MY_CONSTANT
の2番目の文字を変更すると、 "Hullo, world"
ます。
メソッド内で定数を定義することはできません
def say_hi
MESSAGE = "Hello"
puts MESSAGE
end
上記のコードはエラーになります: SyntaxError: (irb):2: dynamic constant assignment
。
クラスの定数の定義と変更
class Message
DEFAULT_MESSAGE = "Hello, world"
def speak(message = nil)
if message
puts message
else
puts DEFAULT_MESSAGE
end
end
end
定数DEFAULT_MESSAGE
は、次のコードで変更できます。
Message::DEFAULT_MESSAGE = "Hullo, world"
Modified text is an extract of the original Stack Overflow Documentation
ライセンスを受けた CC BY-SA 3.0
所属していない Stack Overflow