2011-03-17 180 views
3

红宝石1.9现在使用fastercsv,但我如何复制ruby 1.8.7的generate_line行为?replica CSV.generate_line红宝石的行为1.8.7在红宝石1.9.2

ruby-1.8.7-p334 :010 > require 'csv' 
=> true 
ruby-1.8.7-p334 :010 > CSV.generate_line(["ab","cd"], "\t") 
=> "ab\tcd" 

ruby-1.9.2-p180 :002 > require 'csv' 
=> true 
ruby-1.9.2-p180 :007 > CSV.generate_line(["ab","cd"], :row_sep => ?\t) 
=> "ab,cd\t" 

注意如何\t是两个数组项之间的红宝石1.8.7,最后在1.9.2

回答

3

你必须改用col_sep。 row_sep是行分隔符:

CSV.generate_line(["ab","cd"], :col_sep => ?\t) 
=> "ab\tcd\n" 

CSV.generate_line(["ab","cd"], :col_sep => ?\t, :row_sep => '') 
=> "ab\tcd" 

你可以找到更多的细节,并在documentation附加选项。

1

CSV.generate_line(['a','b','c'],:col_sep =>“\ t”)