yuuki blog

プログラミング をアプトプットしています。

Ruby sliceメソッド

問題

任意の文字列の最後の2文字を3回繰り返し出力する問題です。

出力例:

extra_end('Hello') → 'lololo'
extra_end('ab') → 'ababab'
extra_end('Hi') → 'HiHiHi'

 

自分の答え

 

def extra_end(str)
num1 = str.slice(-2)     #slice(-2)で最後から2番目の文字をnum1にあてる
num2= str.slice(-1)      #slice(-1)で最後の文字をnum1にあてる
 puts (num1 + num2)*3       #最後の2文字を3階繰り返す
end

 もしくは

 

def extra_end(str)
  char_num = str.length           #文字を数値に返す
  right2 = str.slice(char_num - 2, 2)  #最後から2番目から2つを(最後の2文字)rigth2に当てる
  puts right2 * 3
end