LoginSignup
1
0

More than 3 years have passed since last update.

[ Ruby ] DATA定数って何よ? [ 知ってる? ]

Posted at

DATA定数って何よ?

スクリプトの終わりを表す__END__キーワードと一緒に使う定数よ。
__END__キーワード以降に書いた内容をそのスクリプトでデータとして扱うことができるわ。
百聞は一見にしかず、サンプルコードよ。

sample.rb
puts DATA.gets # => AAA\n
puts DATA.gets # => BBB\n
puts DATA.gets # => CCC\n

__END__
AAA
BBB
CCC

こんな感じでファイルと同じように扱うことができるわ。
そのまま取り出すと改行コードの\nが付いて来ちゃうから適宜chompメソッドで改行コードを取り除くといいわ。

 何が嬉しいの?

書き捨てのシンプルなスクリプトを書くときとかに、使うデータをわざわざ変数やら定数やらで定義しなくてもいいっていうのがメリットね。

まあ使い勝手は...あなた次第よ! あたしは割と使うわ、おしゃれだもの。

以下、配列で回す場合のおまけのサンプルコードよ。

sample2.rb
DATA.each do |dish|
  dish.chomp!
  puts "#{dish}食べたい!"
end
__END__
ラーメン
チャーハン
ギョーザ
ラーメン食べたい!
チャーハン食べたい!
ギョーザ食べたい!

以上!知らなくても別に損はしないわ! 雑学よ、雑学!

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0