【发布时间】:2017-07-14 15:31:40
【问题描述】:
如何在 Ruby 中执行以下操作?
由于传递值参数,它无法按预期工作。
def validate! msg
if msg.is_a?(String)
msg = [ msg ]
end
end
#replace 可以在 msg 被替换为另一个字符串时使用。
【问题讨论】:
-
How to do the following in Ruby?是什么意思?那不是已经是 ruby 代码了吗? -
@emaillenin - 我的意思是
msg没有更新。我编辑了问题。 -
解释你想要完成的事情。这听起来有点像您试图将 msg into 变成一个数组。如果是这样,那么这是不可能的。有一些对象的方法可以改变对象,但即使在这些情况下,您也不能将对象“改变”为不同的类。正确的做法是只使用一个新变量并将其设置为等于
[msg]。用方法做到这一点很好。此外,String需要大写,否则将无法运行。 -
返回
msg并在调用者代码中更新
标签: ruby parameters parameter-passing ruby-2.3