としてエラーが発生しました。ブール値として使用された場合に評価されることがundefined variableわかっています。nilfalse
if y
puts "Something"
end
としてエラーが発生しました。ブール値として使用された場合に評価されることがundefined variableわかっています。nilfalse
if y
puts "Something"
end
未定義の変数は nil と等しくありません。
未定義のインスタンス変数は nil を返します (これも未定義の場合)。
y例外を発生させます
@yゼロを返します
いいえ、エラーが発生しますundefined local variable or method。しかし、何かが定義されているかどうかを確認したい場合は、defined?このようなメソッドを使用できます
if defined?(my_var)
print 'defined'
else
print 'not defined'
end
こちらは少しシワがあります。これを試して:
if 5 == 0
y = 'hi'
end
puts "hello" if y
yブロックで「定義」されていifます。そのブロックを削除すると、エラーが発生します。