Ruby圆括号调用语法
发布时间:2020-12-16 20:49:54 所属栏目:百科 来源:网络整理
导读:我正在阅读 jbuilder’s README并看到这些代码: class Person # ... Class Definition ... # def to_builder Jbuilder.new do |person| person.(self,:name,:age) end endend 我试图自己复制它,它要求一个调用方法,所以: class Thing attr_accessor :name,
我正在阅读
jbuilder’s README并看到这些代码:
class Person # ... Class Definition ... # def to_builder Jbuilder.new do |person| person.(self,:name,:age) end end end 我试图自己复制它,它要求一个调用方法,所以: class Thing attr_accessor :name,:age def call(*args) puts args.inspect end end Thing.new.(:name,:age) # => [:name,:age] 那么为什么jbuilder中会出现一个自我? 解决方法
self here只是传递给Jbuilder调用方法的参数.
Jbuilder需要person的实例(代码中为self)和属性名称(:name和:age代码)来生成json数据. 例: class Thing attr_accessor :name,:age def call(*args) puts args.inspect end end class Bar def to_thing Thing.new.(self,:age) end end Bar.new.to_thing (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |