DATAと__END__
DATA
スクリプトの __END__ (スクリプトの終り) 以降をアクセスする File オブジェクト。
注意:
* DATA.rewind で移動する読みとり位置は、__END__ 直後で はなく、スクリプトファイルの先頭です。
* スクリプトが標準入力から読みこまれた場合は標準入力になります。
* スクリプトがファイルや標準入力から読みこまれなかった場合や、 __END__ で終っていない場合には定義されません。
* require や load で 読み込まれたファイルの中であってもそのファイル(__FILE__) ではなく実行されたファイル($0)を指します。引用:組み込み定数
Excelのデータ編集とか、データ加工をちょこっとやりたい時に便利です。
Excelから加工したい列のデータを__END__以下にコピペ
# -*- coding: Windows-31J -*- puts DATA.lines("\n").map{|line| line.sub(/^(\d*)-(\d*)-(\d*)$/){"(#{$1})\t#{$2}\t#{$3}"}} __END__ 03-1111-1111 048-222-2222 05-3333-3333
結果:(タブ区切りになっています)
(03) 1111 1111 (048) 222 2222 (05) 3333 3333
リダイレクトでファイル出力して、書き出した内容をExcelにコピペ。
追記:
『Ruby リファレンスマニュアル刷新計画』の新しいリファレンスには『組み込み定数』についての記述がないのかな?と思ったら
Kernel
にありました。