#戯言
今日は朝から掃除洗濯、朝ごはんを作り、布団を干し・・・・
とりあえずプログラミングの学習ができるまとまった時間の確保ができるので今日1日外に出たり出なかったり。
コロナ対策・デフレ脱却、がんばれ政府
ということで・・・
#本題 sliceメソッドについて
今日も以前解いた問題に2回目の挑戦。
sliceメソッドを使った問題でした。
※出力例:
extra_end('Hello') → 'lololo'
extra_end('shinzo') → 'zozozo'
extra_end('Hi') → 'HiHiHi'
このような結果にしなさいとのお達し。
完全に忘れてました。次のように回答。
def extra_end(str)
wordCount = str.length
puts str.slice(wordCount - 2, 2) * 3
end
extra_end('Hello')
extra_end('ab')
extra_end('Hi')
ちょっと解説すると、
任意の文字列を文字数を出す
↓
1つ目の引数で「出した文字数−2」で文字列の後ろから2番目の要素を基準点とする
↓
2つ目の引数で基準点から2つ要素を取り出す
↓
で、出した要素を3回繰り返せということなので、単純に×3
回答し解説を見ると、sliceの処理、超単純に「−2」だけで後ろから2番目の要素を基準にできちゃうというオチ。
そういうわけで
def extra_end(str)
puts str.slice(- 2, 2) * 3
end
これだけで同じ結果が出ます・・・。
そういうわけで、いろんな方法で同じ結果を出すことができるところも面白いと思いますが、できるだけシンプルを意識し頑張ります。