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