数値
整数
1 2 3 4 |
puts 123, -123 # 123 # -123 |
基数を指定する場合。
1 2 3 4 5 6 7 8 |
puts 0d255 puts 0b11111111 puts 0o377, 0377 # 255 # 255 # 255 # 255 |
先頭がゼロの場合は8進数と解釈される点に注意。8進数と解釈できない場合はエラーになる。
1 2 3 4 |
puts 010 puts 08 -> Invalid octal digit # 8 |
実数
1 2 3 4 5 |
puts 123.456 # 固定小数点 puts 1.23456e2 # 浮動小数点 # 123.456 # 123.456 |
小数点以下をゼロとすると実数のリテラルになるが、小数点のみを付けるとエラーになる。
1 2 3 4 |
puts 123.0 puts 123. -> NoMethodError # 123.0 |
0~1の小数点では、先頭のゼロは省略できない。
1 2 3 4 |
puts 0.123 puts .123 -> syntax error # 0.123 |
有理数
末尾に'r'
を付けると有理数となり、分数形式で保持される。
1 2 3 4 5 |
puts 1.25r puts 1.414r # 5/4 # 707/500 |
複素数
'i'
の直前に数値を並べると虚数となり、複素数形式で保存される。
1 2 3 4 5 |
puts 1 + 2.1i puts 1i * 1i # 1+2.1i # -1+0i |
文字列
ダブルクォートかシングルクォートで囲む。
1 2 3 4 5 |
puts "Ruby string" puts 'Ruby string' # Ruby string # Ruby string |
ダブルクォートで囲むとバックスラッシュ記法は特殊文字として解釈されるが、シングルクォートで囲むとバックスラッシュが単なる文字として扱われる。
1 2 3 4 5 6 |
puts "Ruby\nstring" puts 'Ruby\nstring' # Ruby # string # Ruby\nstring |
空白をはさんで並んだ文字列は結合される。
1 2 3 |
puts "Ruby" "String" # RubyString |
文字リテラル
'?'
に続く一文字は文字列として扱われる。
1 2 3 4 5 |
puts ?字 puts ?\u5b57 # 字 # 字 |
ヒアドキュメント
'<<[識別子]'
の次の行から'[識別子]'
の直前の行までが複数行にわたる文字列として解釈される。
1 2 3 4 5 6 7 |
puts <<EOS 1行目 2行目 EOS # 1行目 # 2行目 |
論理値
論理値のリテラルとしてtrue
、false
が定義されている。
1 2 3 4 5 |
puts true ? "True" : "False" puts false ? "True" : "False" # True # False |