ERubyとは - わかりやすく解説 Weblio辞書 (original) (raw)
eRubyとは、Rubyの周辺技術の一つで、HTMLへRubyスクリプトを埋め込む事を可能とする技術である。embedded Rubyの略。ERBとも表記され、ファイル拡張子も.erbである事が多い。対象としてはHTMLだけでなく、任意のプレインテキストに適用できる。Ruby on RailsのMVCの内で、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が書かれた部分として認識する。
eRuby<% Rubyコード1 %>
<% Rubyコード2 %>
<% Rubyコード3 %>
以上のように<%=...%>と記述した箇所で、Rubyの命令が実行可能となる。それ以外の場所では、通常のHTML文が表示され、PHPと似た記述が可能となる。
その他の実装
Rubyの標準添付ライブラリのERB以外にも、ERBの実装が存在する。
ERBより高速なことを特徴とする。Ruby on Rails 5.0まで採用されていた。
Erubisより高速であることを特徴とする。Ruby on Rails 5.1以降、採用されている[1]。
脚注
[ヘルプ]
- ^ “Ruby on Rails 5.1リリースノート”. Rails ガイド. 2018年6月16日閲覧。 “Erubis(ERBハンドラ)を非推奨化: 今後はErubiに”
外部リンク
- Ruby リファレンスマニュアル > ライブラリ一覧 > erbライブラリ(Ruby標準添付ライブラリであるERBのマニュアル)
- ERB 公式サイト
表 話 編 歴 Ruby | ||
---|---|---|
実装 | Ruby MRI / YARV IronRuby JRuby MacRuby(英語版) MagLev(英語版) mruby(英語版) Rubinius(英語版) RubyMotion(英語版) | ![]() |
IDE | Komodo(英語版) NetBeans RadRails RubyMine(英語版) | |
アプリケーション | Capistrano Chef(英語版) Hiki Homebrew(英語版) Joruri mobileimap Puppet Rake Redmine RSpec(英語版) RubyGems Sass tDiary 影舞 島根県CMS | |
ライブラリ フレームワーク | AspectR eRuby (RHTML) Merb Padrino RubyCocoa Ruby on Rails Shoes Sinatra Star Ruby QtRuby | |
サーバソフトウェア | mod_ruby(英語版) Mongrel(英語版) Phusion Passenger (mod_rails/mod_rack) Rack(英語版) WEBrick | |
その他 | Document format RubyKaigi Rubyアソシエーション Rubyライセンス まつもとゆきひろ | |
![]() ![]() ![]() |