コンテンツにスキップ

英文维基 | 中文维基 | 日文维基 | 草榴社区

「ERuby」の版間の差分

出典: フリー百科事典『ウィキペディア(Wikipedia)』
削除された内容 追加された内容
文法: 誤字修正(例文の中には "<%=...%>" 構文は存在しないため)
タグ: モバイル編集 モバイルウェブ編集
Cewbot (会話 | 投稿記録)
m Bot作業依頼: sourceタグをsyntaxhighlightタグに置換 (Category:非推奨のsourceタグを使用しているページ) - log
14行目: 14行目:
HTMLファイルの中に<%...%> (もしくは、<%=...%>。こちらは、<%print ...%>の省略形である)の記号で囲った空間があれば、そこをRubyが書かれた部分として認識する。
HTMLファイルの中に<%...%> (もしくは、<%=...%>。こちらは、<%print ...%>の省略形である)の記号で囲った空間があれば、そこをRubyが書かれた部分として認識する。


<source lang="html+erb">
<syntaxhighlight lang="html+erb">
<html>
<html>
<head>
<head>
25行目: 25行目:
</body>
</body>
</html>
</html>
</syntaxhighlight>
</source>


以上のように<%...%>と記述した箇所で、Rubyの命令が実行可能となる。それ以外の場所では、通常のHTML文が表示され、PHPと似た記述が可能となる。
以上のように<%...%>と記述した箇所で、Rubyの命令が実行可能となる。それ以外の場所では、通常のHTML文が表示され、PHPと似た記述が可能となる。

2020年7月5日 (日) 22:52時点における版

eRubyとは、Rubyの周辺技術の一つで、HTMLへRubyスクリプトを埋め込む事を可能とする技術である。embedded Rubyの略。ERBとも表記され、ファイル拡張子も.erbである事が多い。対象としてはHTMLだけでなく、任意のプレインテキストに適用できる。Ruby on RailsMVCの内で、Viewの開発言語にも採用されている。

元々まつもとゆきひろの構想とePerlの実装を基にした議論から、関将俊が開発した[1]。Ruby 1.8以降のバージョンでは、Ruby処理系の標準ライブラリとして同梱されるようになった。また、前田修吾によるC実装によるeRuby処理系も開発されている[2]

概要

従来、RubyでCGIなどを作成するとき、HTML部分を記述するにはprint(もしくはputs)によってそのコードを記述していかなければならなかった。しかし、HTMLのタグを書く毎にprint文を記述するのは非常に手間がかかり、修正する場合にも多大な労力を必要としてしまうことが多い。

さらにこの方式では、CGIやWEBアプリケーションを作成しようとしたとき、プログラマーとWEBデザイナーの分離が難しく、またDreamweaverなどのWEBオーサリングツールの利用も不可能となってしまう。

そこで考え出されたのが、HTML埋め込み型の処理系であるPHPに似た文法で、HTMLにRuby文を埋め込む実装である。こうして考え出されたのが、eRubyである。

文法

HTMLファイルの中に<%...%> (もしくは、<%=...%>。こちらは、<%print ...%>の省略形である)の記号で囲った空間があれば、そこをRubyが書かれた部分として認識する。

<html>
<head>
<title>eRuby</title>
</head>
<body>
<p><% Rubyコード1 %></p>
<p><% Rubyコード2 %></p>
<p><% Rubyコード3 %></p>
</body>
</html>

以上のように<%...%>と記述した箇所で、Rubyの命令が実行可能となる。それ以外の場所では、通常のHTML文が表示され、PHPと似た記述が可能となる。

その他の実装

Rubyの標準添付ライブラリのERB以外にも、ERBの実装が存在する。

Erubis
ERBより高速なことを特徴とする。Ruby on Rails 5.0まで採用されていた。
Erubi
Erubisより高速であることを特徴とする。Ruby on Rails 5.1以降、採用されている[1]

脚注

  1. ^ Ruby on Rails 5.1リリースノート”. Rails ガイド. 2018年6月16日閲覧。 “Erubis(ERBハンドラ)を非推奨化: 今後はErubiに”

外部リンク