DATAと__END__でファイルオブジェクトを扱う
スポンサーリンク
スポンサーリンク
ライフスタイル関連のコンテンツ
お金 | 仕事 | 勉強 | プライベート | 健康 | 心
プログラミング関連のコンテンツ
C言語/C++入門 | Ruby入門 | Python入門 | プログラミング全般
お金 | 仕事 | 勉強 | プライベート | 健康 | 心
プログラミング関連のコンテンツ
C言語/C++入門 | Ruby入門 | Python入門 | プログラミング全般
Rubyスクリプト中に、「__END__」というキーワードを書くと、その行以降は実行されるスクリプトではなくて、データとして扱うことができるそうです。
そして、__END__ 以降のデータは、DATA という定数でファイルオブジェクトとしてアクセスできる。
以下に簡単な実験のコードを書いてみます。
スポンサーリンク
DATA.each{|line| one = line.chomp.split(/ /) puts "#{one[0]} is #{one[1]} years old" } __END__ toshi 32 youko 26 mamoru 12 kako 8 hisanori 5
__END__ 以降のデータは、名前と年齢に見立てた行からなるデータです。
実行結果。
toshi is 32 years old youko is 26 years old mamoru is 12 years old kako is 8 years old hisanori is 5 years old
これは、ファイルオブジェクトを操作するテストスクリプトをさくっと書くのには、都合が良さそうです。
Perlには__DATA__ があって便利ですが、Rubyでも__END__ と DATA を用いることで、簡単なテストであれば行えるようです。
スポンサーリンク
>> 次の記事 : Ruby1.7.3のソースコード行数を調べる
<< 前の記事 : ディレクトリを再帰的に走査するDir.globとFind.find
- - 関連記事 -
- Ruby1.7.3のソースコード行数を調べる
- ディレクトリを再帰的に走査するDir.globとFind.find
- ファイル名の取り出し・変更・操作
- FileTestモジュールでファイルを検査する
- File::statの時刻を変更する
- ファイル・ディレクトリの属性取得
- グロブ・Dir.globを使ってディレクトリ検索
- ディレクトリをオープンしてファイル名を読む
- ファイル名の変更・ファイルのコピー・移動・削除
スポンサーリンク