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)使用
#尝试
,请参阅:


我尝试了这个方法,得到了->名称错误:未定义的局部变量,…不确定哪里出错了。@SlySherZ
0
在Ruby中是真实的。如果
参数可能是一个虚假的值,比如false,那么您需要一个更复杂的条件。检查:我尝试了这个,得到了->名称错误:未定义的局部变量,…不确定哪里出了问题。@SlySherZ
0
在Ruby中是真实的。如果
参数可能是一个虚假的值,比如false,你需要一个更复杂的条件。检查: