0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

sliceメソッドを使ったAPI問題

Posted at

本日はこちらの問題を解いていきます。

 
問題.
任意の文字列の最後の2文字を3回繰り返し
出力するメソッドを作りましょう。

出力例:
extra_end('Hello') → 'lololo'
extra_end('ab') → 'ababab'
extra_end('Hi') → 'HiHiHi'

ヒント
sliceメソッドを用いることで、配列や文字列から指定した要素を取り出すことができます。

# 配列を作成します
array = [0,1,2,3,4,5,6]

# 配列から引数で指定した要素をsliceします
ele1 = array.slice(1)
puts ele1
# => 1

# 配列番号1から4つ分の要素をsliceします
ele2 = array.slice(1,4)
puts ele2
# => 1 2 3 4

# 配列はもとのままです
puts array 
# => [0,1,2,3,4,5,6]

模範回答

def extra_end(str)
  char_num = str.length
  right2 = str.slice(char_num - 2, 2)
  puts right2 * 3
end

解説
たとえば、extra_end('Hello')でメソッドを呼び出した場合、
.lengthを使うことによって1から数えることが出来ます。(使わないと0から数えてしまいます。)
char_num = 5となり、right2 = str.slice(3,2)になります。
slice(3,2)は配列番号(インデックス)3つ目から数えて2つ分の要素を切り取ります。
今回の場合、切り取られた結果loが残り、right2 = loとなります。
最終的に、right2 * 3、つまりlololoと出力されます。

0
0
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?