無差別に技術をついばむ鳥

情報処理技術全般を気まぐれにつつくゆるいブログです

RubyをつつくXーヒアドキュメント1。スパゲティに注意。

今回はお待ちかね。ヒアドキュメントの便利な使い方をつつくピヨッピヨッ♪先ず見てもらった方が早いと思うから、コードをつっつくピヨね♪


printf(<<EOS, 1.9) これでも 正常に 機能する だよね Ruby%.1f どんだけー EOS

初めてこのプログラムを見た人は意味が分からないと思うピヨ。だから何も考えずに実行してみて。そうすると某携帯小説風文字列が表示されるピヨね♪このようにヒアドキュメントは 開始記号(<<EOF)〜終端記号(EOS)のある行で区切られるという特徴があるピヨ。つまり、開始記号の位置は重要でないピヨね。ちょっと分かりにくいから、さっきのプログラムをRubyはどう解釈したか書くピヨね。


printf("これでも\n正常に\n機能する\nだよね\nRuby%.1f\nどんだけー\n", 1.3)


どう?これで分かったかな?イメージ的に言うと開始記号の位置で文字列が生成されるという感じピヨ。現時点で、ヒア・ドキュメントってぇなんか凄くなくなくない?って思ったらまだ甘いぃぃピヨョョョ!ヒアドキュメントにはまだ隠された能力があるピヨ♪それについては・・・またサンプルをつつこう♪


name = 'インドリ' puts <<"EOS" ボクは #{name} サル じゃないピヨ 鳥 だピヨ 歳は 人間で いうところの 30 今年で 30 好きな ものは 情報処理技術 それ以外 ないって 感じ ピヨ ピヨ EOS

これを実行してみよう。そうすると、ボクはの次の行でちゃんと「インドリ」って表示されているピヨね。これは式展開という機能だピヨ。ちなみに、式展開については違う記事で紹介するピヨ♪でも、普通は・・・ <<EOSって書くピヨ 何故かと言うと・・・ <<"EOS"と<<EOSは同じピヨ これはまだ普通の機能なんだけど、ヒアドキュメントの機能はまだあるピヨ♪
次のプログラムは驚くよー


printf <<`EOS` DIR > dir.txt EOS

このプログラムを実行してごらん?あれ?何も表示されないや。でもruby.exeがあるディレクトリを見て御覧。ディレクトリの内容がdir.txtファイルへ出力されているピヨね♪凄いよね。
つまり・・・ <<`EOF`でコマンドが実行できるって事ピヨね。`記号は気をつけてね、日本語入力OFFの状態でアットマーク(@)+Shiftを押せば入力できるピヨ。これでヒアドキュメントの機能の説明は終わり。やろうと思えば、まだ細かい事をつつけるけど、つつくシリーズは初心者向けだから止めておくピヨ♪おしまい♪
別窓 | Ruby | コメント:0 | トラックバック:0 | ∧top | under∨
<<中の人の徒然草97 | 無差別に技術をついばむ鳥 | 中の人の徒然草96>>

この記事のコメント

∧top | under∨

コメントの投稿

 

管理者だけに閲覧
 

この記事のトラックバック

∧top | under∨
| 無差別に技術をついばむ鳥 |