Ruby:接受块的类?
发布时间:2020-12-17 03:31:10 所属栏目:百科 来源:网络整理
导读:我注意到 Ruby中的CSV类有一些快捷方式接口(见 http://ruby-doc.org/stdlib-1.9.3/libdoc/csv/rdoc/CSV.html): CSV { |csv_out| csv_out %w{my data here} } # to $stdoutCSV(csv = "") { |csv_str| csv_str %w{my data here} } # to a StringCSV($stderr)
我注意到
Ruby中的CSV类有一些快捷方式接口(见
http://ruby-doc.org/stdlib-1.9.3/libdoc/csv/rdoc/CSV.html):
CSV { |csv_out| csv_out << %w{my data here} } # to $stdout CSV(csv = "") { |csv_str| csv_str << %w{my data here} } # to a String CSV($stderr) { |csv_err| csv_err << %w{my data here} } # to $stderr CSV($stdin) { |csv_in| csv_in.each { |row| p row } } # from $stdin 有没有办法为我自己的课程做到这一点?我正在实施一个DSL,这将使代码更清洁. 解决方法
这不是一个阶级.它是在Object上定义的方法(尽管还有一个名为CSV的类).您链接的文档具有误导性.
This解释得更好.
您不能像使用模块那样执行此操作,但您可以定义采用块的方法. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |