Rubyでいろんなソースコードをお手軽自動生成してみる
どうも・・・また更新が止まっていました。
黒猫のSQL stdio関係でこられる方と、Rubyでの日本語メール送信で来られるかたが多いようです。
作者の方にもコメント書いて頂いたりと、結構やっぱりネットは狭いですね。
Rubyはそのお手軽感で、普段使いの言語として抜群の使い勝手なんですが、そのなかでもこのソース自動生成はもう私の中では定番中の定番テクになってます。
ソース自動生成するってことは・・・実はまともに設計せずにコピペが多いことの裏返しなんですが・・・いいじゃないですか!
ってことで、毎度毎度のお手軽サンプルコードです
require 'erb' hoge = ["ほげほげ", "もげもげ", "ぴよぴよ"] hogegen = ERB.new <<-EOF <ul> <% hoge.each{|a_hoge| %> <li><%=a_hoge %></li> <% } %> </ul> EOF puts hogegen.result
こう書くと
<ul> <li>ほげほげ</li> <li>もげもげ</li> <li>ぴよぴよ</li> </ul>
こう出力される。
このerbっていうテンプレートのライブラリを使います。smartyとかjspみたいなものとか言えばわかりやすいですかね、そっち系の人らには
使い方は簡単
<% #何かrubyのコード %>
こんな風に<%で挟んでrubyのコードを書くだけ
制御構文とか、変数とかもそのまんま使えるから、その間間に生成したいコードを混ぜていけばいいだけ
最後にputsで出しておけばあとはリダイレクトなりすればソースの完成〜
便利だわ。
変な前準備もいらないしね〜
追記:
ERBのコンストラクタ外で使っている変数を取り込む場合は出力の際に
hogegen.result(binding)
このようにして実行されているメソッド情報を渡してやる必要がある
- 作者: 青木峰郎,後藤裕蔵,高橋征義,まつもとゆきひろ
- 出版社/メーカー: ソフトバンク クリエイティブ
- 発売日: 2007/02/01
- メディア: 単行本
- 購入: 9人 クリック: 182回
- この商品を含むブログ (97件) を見る