Ich habe bemerkt, dass CSV-Klasse in Ruby einige Shortcut Schnittstellen (siehe http://ruby-doc.org/stdlib-1.9.3/libdoc/csv/rdoc/CSV.html):Ruby: Klasse akzeptiert einen Block?
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
Gibt es eine Möglichkeit, dies für meine eigenen Klassen zu tun? Ich implementiere ein DSL und das würde Code viel sauberer machen.
Danke für den Link "Verfeinerung". –
Der ganze Zweck von 'verfeinern' besteht darin, den Bereich zu kontrollieren, in dem der Affe-Patch sichtbar ist. Da diese CSV-Methoden von überall sichtbar sein sollen, ist es nicht sinnvoll, Verfeinerungen zu verwenden. –