2016年9月24日土曜日

ファイルの中身を逆順にするRubyスクリプト

ぐぐってみたけど、しっくりくるものが見つからなかったので、載せておきます。
プログラミング授業の課題でありそうなので、参考にしてください。
#!/usr/local/bin/ruby
require 'fileutils'

orgFile = "original.txt"
newFile = "new.txt"

File.open(newFile, "w") do |new_f|
  File.open(orgFile) do |org_f|
    lines = org_f.readlines # ファイルの中身を一行ずつ読み込み、配列に格納する
    lines.reverse!          # 配列の中身の順序を入れ替える
    lines.each do |s|
      new_f.puts(s)         # 配列の中身を一行ずつファイルに書き込む
    end
  end
end

実行すると、こんな感じになります。
# cat original.txt
1, aaa
2, bbb
3, ccc
# ruby  reverse.rb
# cat new.txt
3, ccc
2, bbb
1, aaa

もちろん、色々なやり方があると思いますが、自分は上のやり方がわかりやすいと思いました。

0 件のコメント:

コメントを投稿