ruby 2.0从哈希中命名参数
发布时间:2020-12-17 03:16:11 所属栏目:百科 来源:网络整理
导读:如果我在 ruby中有一个带有命名参数的方法…… def smoosh(first: nil,second: nil) first + secondend 如果密钥匹配,最简单的方法是将哈希值传递给该方法: params = { first: 'peanut',second: 'butter' }smoosh(params) 上面会产生一个参数错误. 更新:
如果我在
ruby中有一个带有命名参数的方法……
def smoosh(first: nil,second: nil) first + second end 如果密钥匹配,最简单的方法是将哈希值传递给该方法: params = { first: 'peanut',second: 'butter' } smoosh(params) 上面会产生一个参数错误. 更新: 看起来这可能是Sinatra参数如何工作的问题. 当我做: get 'a_sinatra_route' do hash = params.clone hash.symbolize_keys! smoosh(hash) end 它工作正常.当它们自己传递参数时它不起作用. (即使您可以使用符号键params [:attr]访问各个参数) 解决方法
似乎对我来说工作得很好.
2.0.0p0 :007 > def smoosh(first: nil,second: nil) 2.0.0p0 :008?> first + second 2.0.0p0 :009?> end => nil 2.0.0p0 :010 > params = { first: 'peanut',second: 'butter' } => {:first=>"peanut",:second=>"butter"} 2.0.0p0 :012 > smoosh(params) => "peanutbutter" (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |