top


総投稿数 本 
no_

スポンサーサイト

 --------
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
カテゴリ :スポンサー広告 トラックバック(-) コメント(-)
no_696

Ruby:◇eRubyスクリプト:erbコマンド ・・・ 【Ruby:24歩目】

 2009-02-09
第24歩
 ◇eRubyスクリプト:erbコマンド

  ※テキストファイルにRubyスクリプトを埋め込めるeRubyスクリプト。
   ・(前回はこちら

 さて、いづれ「Rubyスクリプト」で、Webアプリケーションを
構築してみたかったが、さてどうやるのだろう・・・と、ずっと
思っていた。
 今まで、書籍から学んだ方法は、
  ・(すべて)Windowsのプロンプト上で、
   rubyコマンドでテキストファイルを指定実行 する
   方法だった。

 なるほどねぇ、eRuby・・・か。

  追記に ▼

※この連載は、はじめて「Ruby」に取り組んだmetaboyが、
 PHPなどとの違いを考慮しつつ、ゆっくりと
 良書「はじめてのRubyプログラミング」を基に
 学んでゆく、詳細な記録です。
                      (本日の参照:232頁


FC2ブログランキングにほんブログ村 IT技術ブログ Webサイト構築へブログ王ランキング人気ブログランキング人気ホームページランキングへ


more  ◇eRubyスクリプト:erbコマンド
  【ポイント】
 ・erbコマンドで「eRubyスクリプト」を実行できる
 ・eRubyスクリプト とは、テキストファイル内に
  埋め込まれた特殊なスクリプト
 ・テキストファイル内の <% ~ %> 部分が
  Rubスクリプトとして実行される
 ・<%= ~ %> で中身を直接出力できる


 ◆eRubyスクリプト
  (例)
今年は<%= Time.new.year %>ですね

 というテキストファイルを用意し(test.txt)
erb test.txt

 として実行すると・・・
 "今年は2009ですね" と表示される > 確認した

  ●Time・・・時刻を扱うクラス
Time.new  # 現在の時刻
Time.new.year # yearメソッド(現在の西暦)
Time.new.month # monthメソッド(現在の月)
Time.new.day # dayメソッド(現在の日)


  ●出力を伴わない埋め込み
こんにちは。
<% t = Time.new %>
今年は<%= t.year %>です
 とすると
 "こんにちは。
 
  今年は2009ですね" と表示される > 確認した
 (※埋め込んだところは空行が表示される)

  ●-T 2 オプション・・・無駄な改行を無くす
   上記を
erb -T 2 test.txt
 とすると
 "こんにちは。
  今年は2009ですね" と表示される > 確認した
 (※埋め込んだところが削除される)


 ◆eRubyスクリプトで繰り返し
  ●timesメソッドを用いる
<% 5.times do %>
Hello
<% end %>

 というテキストファイルを用意し(test.txt)
erb test.txt

 として実行すると・・・
 "Hello

  Hello

  Hello

  Hello

  Hello" と表示される > 確認した
erb -T 2 test.txt

 として実行すると・・・
 "Hello
  Hello
  Hello
  Hello
  Hello" と表示される > 確認した

  ●ブロック引数を用いて表現すると
<% 5.times do |i| %>
Hello <%= i %>
<% end %>

 というテキストファイルを用意し(test.txt)
erb -T 2 test.txt

 として実行すると・・・
 "Hello 0
  Hello 1
  Hello 2
  Hello 3
  Hello 4" と表示される > 確認した

 で、(当然)これを、htmlファイルの中で
 利用できるわけだ。

  (例)自動計算デモ
今年は<%= Time.new.year %>ですね
<% 10.times do |i| %>
<% a = rand(10) %>
<% b = rand(10) %>
【第<%= i+1 %>問】 <%= a %> + <%= b %> = <%= a + b %>
<% end %>

 と、<%body%> ~ <%/body%> 部分に書かれた
 HTMLファイルを用意し(test.html)
erb -T 2 test.html

 として実行すると・・・
 "今年は2009ですね
  【第1問】 3 + 9 = 12
  【第2問】 8 + 7 = 15
  【第3問】 2 + 7 = 9
  【第4問】 5 + 6 = 11
  【第5問】 9 + 0 = 9" と表示される > 確認した

 ※これを、htmlファイルを生成する方法に変えれば
erb test.html > test2.html

 として実行すると・・・
 test2.html が生成され
 ブラウザで開けば、ちゃんと表示される


+++++++++++++
PHPだと?
+++++++++++++
 ・このあたりは基本的に同じですね。
 ・サーバーサイドスクリプト として
  同じような表現方法が用いられます。

<?= date('Y-m-d H:i:s') ?>
 とか

 ※そういえば、% は、IISのスクリプト言語
  ASP(ActiveServerPages) で使われますね。

この、「erb」にはライブラリがあるということで、
次回はその辺を・・・

commentsコメント
comment_post












管理者にだけ表示を許可する
commentトラックバック
トラックバックURL:
http://metaboy.blog23.fc2.com/tb.php/696-be9d98b2
ようこそ
Add to Google 創るmetaboy:RSSフィード
My Yahoo!に追加
最新記事のRSS | 問い合わせ

仕事検索、アルバイト検索、依頼仕事の検索ポータル - 仕事検索.COM - www.jobkensaku.com ツクルン

創るmetaboy - WEB創る、サイト創る、何創る - 創ったmetaboy

 

リンク集

 

最近の記事

 

ブロとも申請フォーム
Sponserd by

さくらのレンタルサーバ さくらのレンタルサーバ
大容量・高機能レンタルサーバー heteml 大容量・高機能レンタルサーバー heteml
XREA (ValueDomain)
お名前.com お名前.com
名づけてねっと名づけてねっと
ムームードメインムームードメイン

 

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。