前提・実現したいこと
Rubyで配列の各要素からURLを検出し、それを削除するプログラムを作っています。
gsub!を使ったときにレシーバ?が凍結されてしまい、処理が継続できなくなっているようです。
発生している問題・エラーメッセージ
Uncaught exception: can't modify frozen String
該当のソースコード
arrayにはURLを含む(含まないものもある)文字列が格納されています
array_non_urlはarrayの各要素からURLを取り除いた結果を格納
Ruby
1array.each do |t| 2 urls = URI.extract(t) #urlsにURL文字列を格納 3 4 urls.uniq.each do |url| 5 t.gsub!(url, '') #配列の各要素からurlを取り除く 6 end 7 8 array_non_url << t 9end
試したこと
単純にgsubに変えてみる=>tの内容が変わらずダメでした
補足情報(FW/ツールのバージョンなど)
Ubuntu 16.04 (VBox上)
ruby 2.6.1p33 (2019-01-30 revision 66950) [x86_64-linux]
rbenv 1.1.1-40-g483e7f9
RubyMine 2019.1.3
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。