在我的应用程序中有状态数组,就像这样
status = ['success','failure','warning']
例如,lambda像这样处理状态数组
print_status = lambda { |stat| puts stat }
当我尝试在status的每个方法上传递lambda时,我收到一条错误,上面写着“ArugmentError:错误的参数数量(1表示0)”
status.each(print_status)
任何人都可以帮我解决这个问题。
答案 0 :(得分:2)
由于阻止和proc不匹配而发生此问题。在您的状态中,每个方法都期望块不是proc。将proc转换为块的理想解决方案是“&”
status.each(&print_status)
希望此代码可以帮助您解决问题