1)我有一个方法方法参数为String
def self.createobj(api_key, amnt, commentstr, orderid, order_creation_date, orderfullfilmentdate)
.....
end
2)我想创建传递给这个函数的所有参数的... ERROR_STR
2.1)喜欢的东西
errorstr = "api_key: " + api_key.to_s + " amnt: " + amnt.to_s + " commentstr: " + commentstr.to_s + " orderid: " + orderid.to_s + " order_creation_date: " + order_creation_date.to_s + " orderfullfilmentdate: " + orderfullfilmentdate.to_s
2.2),所以我创造了另一个方法
def self.get_params_str(a)
str = ""
a.each do |a|
str = str + a.to_s
end
return str
end
2.3)所以我从createobj调用这个新方法。类似于
def self.createobj(api_key, amnt, commentstr, orderid, order_creation_date, orderfullfilmentdate)
errorstr = get_params_str(args)
.....
end
3)但是我得到错误未定义局部变量或方法`args'为#。不应该有所有参数?
请指教。
+1所以'参数'是反映的命名参数?聪明。 –
我不知道'参数'的程度,但是例如,如果你在'def test(a,* b,&blk) ; end')上尝试它,你将会得到'[[:req,:a],[:rest,: b],[:block,:blk]]'这样不仅它给你一个符号的名字,而且还告诉你它是否是必需的,块等等。 – derp