疑問です
先日、aaa -> +1 -> bbb, xyz -> +2 -> zab となるようなこちらの競技プログラミングの問題を説いていました。
その際、z -> +1 -> aa となってしまうため、配列に対して.gsub(/AA/, "A")を使おうとしました。
ただ、.gsub(/AA/, "A")のままだとうまく処理が行えないため、いつも配列に対してto_iをするときなどにつかっている.mapを用いて.map(&:gsub(/AA/, "A"))と書いたのですが、以下のエラーメッセージが出てうまく処理が行えませんでした。
そこで、a.map{|a| a.gsub(/AA/, "A")}とaを書く方法でやってみるとうまく実行されました。
この違いはどこなのでしょうか?()の括り方等の書き方なのでしょうか?
初歩的な質問かもしれないのですが、、なにとぞお答えいただけたら嬉しく思います。
発生している問題・エラーメッセージ
at.rb
1atcoder_test.rb:7: syntax error, unexpected '(', expecting ')' 2 ary = ary.map(&:gsub(/AA/, "A")) 3 ^ 4atcoder_test.rb:7: syntax error, unexpected ',', expecting keyword_end 5 ary = ary.map(&:gsub(/AA/, "A")) 6 ^ 7atcoder_test.rb:7: syntax error, unexpected ')', expecting keyword_end 8 ary = ary.map(&:gsub(/AA/, "A")) 9 ^ 10atcoder_test.rb:10: syntax error, unexpected end-of-input, expecting keyword_end
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/01/26 11:56