DATAと__END__でファイルオブジェクトを扱う

スポンサーリンク
スポンサーリンク
ライフスタイル関連のコンテンツ
お金 | 仕事 | 勉強 | プライベート | 健康 |
プログラミング関連のコンテンツ
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 を用いることで、簡単なテストであれば行えるようです。

スポンサーリンク
 
スポンサーリンク