Ruby 如果变量未定义,则返回
我如何在函数内部创建一个条件来测试传递给函数的变量是否已定义,如果未定义,则执行命令,否则执行函数?类似的内容Ruby 如果变量未定义,则返回,ruby,Ruby,我如何在函数内部创建一个条件来测试传递给函数的变量是否已定义,如果未定义,则执行命令,否则执行函数?类似的内容 def your_method(parameter) if parameter # do something else puts "parameter has no value" end end 像这样的 def your_method(parameter) if parameter # do something else puts
def your_method(parameter)
if parameter
# do something
else
puts "parameter has no value"
end
end
像这样的
def your_method(parameter)
if parameter
# do something
else
puts "parameter has no value"
end
end
您可以这样做:
def foo bar
return puts "..." unless defined?(bar) == "local-variable"
# Otherwise, continue with the method
...
end
但是,始终定义分配给给定参数的变量
bar
。除非……条件将永远无法满足。所以你的问题没有实际意义。你可以这样做:
def foo bar
return puts "..." unless defined?(bar) == "local-variable"
# Otherwise, continue with the method
...
end
但是,始终定义分配给给定参数的变量bar
。除非……条件将永远无法满足。因此,您的问题没有实际意义。(如果您使用的是Rails)使用。\try
,请参阅:
(如果您使用的是Rails)使用#尝试,请参阅:
我尝试了这个方法,得到了->名称错误:未定义的局部变量,…不确定哪里出错了。@SlySherZ0
在Ruby中是真实的。如果参数可能是一个虚假的值,比如false,那么您需要一个更复杂的条件。检查:我尝试了这个,得到了->名称错误:未定义的局部变量,…不确定哪里出了问题。@SlySherZ0
在Ruby中是真实的。如果参数可能是一个虚假的值,比如false,你需要一个更复杂的条件。检查: