ERubyとは - わかりやすく解説 Weblio辞書 (original) (raw)

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が書かれた部分として認識する。

eRuby

<% Rubyコード1 %>

<% Rubyコード2 %>

<% Rubyコード3 %>

以上のように<%=...%>と記述した箇所で、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に”

外部リンク

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ライセンス まつもとゆきひろ
カテゴリ コモンズ ウィキブックス