字句構造

[edit]

Rubyの現在の実装はASCIIキャラクタセットを用いています。アルファベットの大文字と小文字は区別されます。識別子と一部のリテラルの途中を除いては任意の場所に空白文字やコメントを置くことができます。空白文字とはスペース、タブ、垂直タブ、バックスペース、キャリッジリターン、ラインフィード、改ページです。改行は行が明らかに次の行に継続する時だけ、空白文字として、それ以外では文の区切りとして解釈されます。

改行と認識されるのは、キャリッジリターン+ラインフィードかラインフィードです。

識別子

例:

foobar
ruby_is_simple

Rubyの識別子は英文字またはアンダースコア('_')から始まり、英文字、アンダースコア('_')または数字からなります。識別子の長さに制限はありません。

コメント

例:

# this is a comment line

スクリプト言語の習慣にならい、文字列中や文字リテラル `?#' 以外の #から行末までをコメントと見なします。

埋め込みドキュメント

例:

=begin
the everything between a line beginning with `=begin' and
that with `=end' will be skipped by the interpreter.
=end

Rubyのソースコードにドキュメントを埋め込む事ができます。文が始まる部分の行頭の=beginから、=endで始まる行までが埋め込みドキュメントです。Ruby インタプリタとしては内容に縛りはかけませんが、通常は RD 形式でドキュメントを埋め込むことを期待しています。

予約語

予約語は以下のものです。

BEGIN    class    ensure   nil      self     when
END      def      false    not      super    while
alias    defined? for      or       then     yield
and      do       if       redo     true     __LINE__
begin    else     in       rescue   undef    __FILE__
break    elsif    module   retry    unless   __ENCODING__
case     end      next     return   until

予約語はクラス名、変数名などに用いることはできません。ただし接頭辞$, @、@@が先頭についたものは予約語とは見なされません。また、def のあとやメソッド呼び出しのピリオドのあとなどメソッド名であるとはっきり分かる場所ではメソッド名として用いることができます。