sprintfのフォーマット文字列として扱う
"ID: %05d" % 321
# => "ID: 00321"
足したり掛けたりする
"ventra " * 2 + "space people"
# => "ventra ventra space people"
中央寄せ文字列を作る
"title".center(20)
# => " title "
" title ".center(20, "#")
# => "###### title #######"
左寄せ、右寄せも
"title".ljust(20, ".")
# => "title..............."
"title".rjust(20, ".")
# => "...............title"
一行毎に処理する
"abc\ndef\nxyz".each_line do |line|
puts line
end
.lines
でもいける。
"abc\ndef\nxyz".lines do |line|
puts line
end
.split("\n").each
より手軽だけど、.each_line
や.lines
に渡される行は改行コードが入ったままなのに注意。
IDをインクリメントする
"X1001".succ
# => "X1002"
"X9999".succ
# => "Y0000"
"A".succ
# => "B"
"Z".succ
# => "AA"
なんとなく、こうしたいんだろうなと思えるIDを作ってくれて便利。
連続した文字を縮める
"Woooooooooooow!".squeeze
# => "Wow!"
先頭の文字列が一致するかどうかを調べる
%w(F-14 A-10 F-18).each do |jet|
puts "#{jet} is Fighter" if jet.start_with?("F-")
end
# => "F-14 is Fighter" "F-18 is Fighter"