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 のあとやメソッド呼び出しのピリオドのあとなどメソッド名であるとはっきり分かる場所ではメソッド名として用いることができます。