質問: "brown"}.map(&:to_s) ``` ### 最終的に実現したいこと cat配列の要素に"brown"が含まれている場合、"brown"と言う要素を削除する
回答: * 最初の行は文法エラーになります。 キーを文字列にしたいかシンボルにしたいか曖昧です(最初にあるコードではキーが文字列になっていますが、「試したこと」にはキーがシンボルとして記述されています)。また最初のコードではこの値を代入するべき変数名が書かれていませんがこれは「試したこと」にあるコードからparamであると推測します。 以上より変数paramへシンボル型をキーとするハッシュオブジェクトを設定したいなら以下のようにかくべきです。 ``` param={:q => {:fruits => "apple", :number => "1", :cat =>["brown","black","white","gray"]} # あるいは同じ意味ですが param={q: {fruits: "apple", number: "1", cat: ["brown","black","white","gray"]}} ``` * 配列要素の削除 `a=["brown", "black"]`であるとき、aから"brown"を削除したいなら`a.delete("brown")`で削除できます。 参照:Arrayクラスのdeleteメソッドリファレンス * 結論 paramの値が最初に書いたとおりだとすれば、次のように書けば"brown"を削除できます。 `param[:q][:cat].delete("brown")`