do v v > 'A' ? 'X' : v end # 2. replace([1, 2, 3]) do v v > 1 ? 100 : v end # 3. replace(Set([1, 2, 3])) do v v > 1 ? 100 : v end # 4. replace(Dict(:a=>1, :b=>2, :c=>3)) do (k, v) k=>(v > 1 ? 100 : v) end
do v v > 'A' ? 'X' : v end #! MethodError # 2. replace([1, 2, 3]) do v v > 1 ? 100 : v end #> [1, 100, 100] # 3. replace(Set([1, 2, 3])) do v v > 1 ? 100 : v end #> Set([1, 100]) # 4. replace(Dict(:a=>1, :b=>2, :c=>3)) do (k, v) k=>(v > 1 ? 100 : v) end #> Dict(:a=>1, :b=>100, :c=>100)
~; end は、do ブ ロックの戻り値に従っ て要素を置換 する。 • replace(«文字列») do ~ はサポートさ れていない。 replace([1, 2, 3]) do v v > 1 ? 100 : v end #> [1, 100, 100] replace("ABC") do v v > 'A' ? 'X' : v end #! MethodError