这是我的文件内容.
Receivables=Por cobrar
Payables=Cuentos por pagar
ytdPurchases.label=Purchases YTD
validationError.maxValue=Value is too large, maximum value allowed is {0}
Run Code Online (Sandbox Code Playgroud)
我想按字母顺序对这些内容进行排序......我怎么能这样做?
更新:此代码将对我的文件进行排序.
new_array = File.readlines("#{$base_properties}").sort
File.open("#{$base_properties}","w") do |file|
new_array.each {|n| file.puts(n)}
end
Run Code Online (Sandbox Code Playgroud)
有没有更好的方法来排序文件?
Rya*_*igg 15
假设您的文件名为"abc"
`sort abc -o abc`
Run Code Online (Sandbox Code Playgroud)
Ruby不应该被用作金锤.通过使用该命令sort,它将更快.
明显的简化:
new_array = File.readlines("#{$base_properties}").sort
File.open("#{$base_properties}","w") do |file|
file.puts new_array
end
Run Code Online (Sandbox Code Playgroud)
我只是定义一个像这样的方法,与之相反File.read.它是高度可重用的,真的应该成为标准的一部分:
def File.write!(path, contents)
File.open(path, "w"){|fh| fh.write contents}
end
Run Code Online (Sandbox Code Playgroud)
然后排序变成:
File.write!($base_properties, File.readlines($base_properties).sort.join)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5461 次 |
| 最近记录: |