文中の空白削除 / with_indexの使い方
文字中の空白削除
gsubメソッドを使う
irb(main):001:0> a = "BUMP OF CHICKEN" irb(main):002:0> a.gsub(" ","") => "BUMPOFCHICKEN"
第一引数に指定したものを第二引数のものに全て置き換えることができる
with_indexの使い方
例えば、配列の中の偶数番目の数字だけ10倍にしたいな〜、というとき
arr = [1, 2, 3, 4, 5, 6, 7] arr.map.with_index{|n, i| # 偶数番目を10倍にするのでインデックス番号が奇数の時の条件を作る(インデックスは0から始まる) if i % 2 != 0 n * 10 else n end } => [1, 20, 3, 40, 5, 60, 7]
また三項演算子を使うと1行でかけます
arr = [1, 2, 3, 4, 5, 6, 7] arr.map.with_index { |n, i| i.odd? ? n * 10 : n } => [1, 20, 3, 40, 5, 60, 7]
Ruby | Luhn | Exercismを通して学んだことです
参考
- String#gsub (Ruby 2.7.0 リファレンスマニュアル)
- Rubyのmapメソッドでwith_indexを使う方法を現役エンジニアが解説【初心者向け】 | TechAcademyマガジン
- raven-rock's solution to Luhn on the Ruby track | Exercism