gpt4 book ai didi

ruby - 如何将可选参数传递给 Ruby 方法?

转载 作者:数据小太阳 更新时间:2023-10-29 08:51:16 27 4
gpt4 key购买 nike

我正在使用 Ruby 进行一些 Watir-webdriver 测试,但似乎无法使以下代码正常工作。我想将可选的 validation 参数传递给 log_activity 方法。

def log_activity (type, *validation)
#do something
end

我将以下参数传递给该方法:

log_activity("license", 1)

我希望 validation == 1 为真,但它是假的:

puts validation.empty?
-> false

puts validation
-> 1

if validation == 1
puts "validation!!!!"
else
puts "WTF"
end
-> WTF

我做错了什么?

忘了说了,我用的是 ruby​​ 1.9.3

最佳答案

*validation 是一个包含第二个和之后所有参数的数组。鉴于它是一个数组,您看到的结果是有道理的。您想要检查 *validation 数组中的第一个元素。

或者,如果你只会得到一个可选参数,你可以这样做:

def log_activity (type, validation=nil)
#do something
end

然后 validation 将是您传入的任何内容。

关于ruby - 如何将可选参数传递给 Ruby 方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12374623/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com