文字列から一部を取り出し繰り返す方法 (slice メソッド)
今回は "Hello" から最後の "lo" を取り出して、3回繰り返す(正解は lololo )方法を
def extra_end(str) # 処理を記述 end # 呼び出し例 extra_end('Hello')
の形で行う。
String#slice! (Ruby 3.1 リファレンスマニュアル)
上記の公式サイトから正規表現が利用できることを確認し、
def extra_end(str)
repeat = str.slice(/..\z/)
3.times do
puts repeat
end
end
と記述した。
これだと lo が3回出るが、改行されてしまう。 repeat.chomp にしても改善されず、諦めた。
模範回答は
def extra_end(str) right2 = str.slice(- 2, 2) puts right2 * 3 end
とのことで、そんなんで良いんかい的な拍子抜けでした。
ちなみに私の回答も
def extra_end(str)
repeat = str.slice(/..\z/)
puts repeat * 3
end
にすると、 lo は改行されず、 lololo と横並びになった。