[Ruby]dorill64

プログラミング

問題

任意の文字列の最初の2文字を最後尾に持ってきて、その文字を出力するメソッドを作りましょう。

自分の回答

def left2(str)
  first2 = str.slice!(0, 2)
  puts str + first2
end

# 無理に一行で書いてみた
def left2(str)
 puts str.slice(2, str.length - 2) + str.slice(0, 2)
end

ポイントは、slice!として、破壊的メソッドを使っているところですね。これで、strが最初の2文字がカットされた状態になります。なので、!は忘れないようにしましょう。
そして、最初の2文字をfirst2に代入します。
最後に、最初の2文字がカットされた状態のstrと最初の2文字(first2)をくっつけて出力します。

slice
slice(開始位置, 個数)と指定することで、配列や文字列から切り出せます。slice(0,2)は文字列の0番目から数えて、2個取得するという意味になります。つまり、頭の2文字を取り出すことができます。

タイトルとURLをコピーしました