String(文字列)

% 記法

  • %! ~ ! で囲む
    • ! 以外でもOK)
  • ダブルクォーテーションで括ったことと等価
  • 式展開も使える
  • 「ダブルクォーテーションやシングルクォーテーションで括った際のエスケープ」といったことを気にしなくてよい
str = "world"
p %!hello, #{str}!
# "hello, world"
  • %! ~ ! である必要はない(区切り文字は ! である必要はない)
    • ^ は普段あまり使わないため、%^ ~ ^ が使いやすいかも
str = "world"
p %^hello, #{str}^ #hello, world
p %@hello, #{str}@ #hello, world

ヒアドキュメント(行指向文字列リテラル)

<<識別子
line 1
line 2
line 3
識別子
  • 識別子(下記例の場合は TEXT)は自由に命名できる
    • 慣習として大文字にすることが多い
      • TEXT, HTML
str = <<TEXT
hello
world
welcome
to
the
world
TEXT

puts str
# hello
# world
# welcome
# to
# the
# world

フォーマットを指定した文字列

x = sprintf('%0.2f', 1.2)
puts x # 1.20
puts x.class # String

x = sprintf('%0.3f', 1.2)
puts x # 1.200
puts x.to_f.class # Float

いろいろな文字列作成

p [1, 2, 3].join
# "123"

p "Hello" * 3
# "HelloHelloHello"