0
0

More than 1 year has passed since last update.

Ruby sliceメソッド

Posted at

sliceメソッド

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

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

# 配列から引数で指定した要素を取得します
ele1 = array.slice(1)
puts ele1
#=> 1  # 0番目から始まるため、1が取り出されました

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

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

sliceメソッドを使って指定した文字列を取り出すプログラムを作成します

条件は以下です。

  • 条件1:対象の文字列から末尾にある2文字を取得すること
  • 条件2:取得した2文字を3回繰り返して出力すること
模範解答
def extra_end(str)
  right2 = str.slice(- 2, 2)
  puts right2 * 3
end

# 呼び出し例
extra_end('Hello') 
lololo
# ターミナル出力

解説

今回、末尾にある2つの文字について取得し、それを3回出力させるという内容でした。
「末尾にある2つの文字」の取り出す方法は、sliceメソッドを使います。
取り出す範囲を(-2, 2)としましたが、こうすることで文字列の末尾2番目から2つ要素を取得することができます。
そして、* 3と記述することで、3回連続出力することに成功しました。

私は、この問題を解くときに以下のように記述しました。
模範解答の方が丁寧...かな?うーん。

def extra_end(str)
  puts (str.slice(-2, 2) * 3)
end

# 呼び出し例
extra_end('Hello')
0
0
0

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