👋
[Feature #20469] Enumerator::ArithmeticSequence に対して json を拡張する提案
[Feature #20469] dd a JSON addition for Enumerator::ArithmeticSequence
-
Enumerator::ArithmeticSequence
に対して#to_json
などを追加する提案
require 'json/add/arithmetic_sequence'
pp ((42...72) % 4).to_json
# => {"json_class"=>"Enumerator::ArithmeticSequence", "b"=>42, "e"=>72, "x"=>true, "s"=>4}
- 元々はコア向けの提案だったんですがいまは json gem 側に PR が出し直されてます
- これみて初めて知ったんですが json って既存のオブジェクトに対する拡張がいろいろとあるんですねー
require "json"
# 通常だとこんな感じ
puts({ pattenr: /^hoge\d+$/ }.to_json)
# => {"pattenr":"(?-mix:^hoge\\d+$)"}
puts (0..42).to_json
# => "0..42"
# 拡張用のライブラリを読み込むとこんな感じ
require 'json/add/regexp'
require 'json/add/range'
puts({ pattenr: /^hoge\d+$/ }.to_json)
# => {"pattenr":{"json_class":"Regexp","o":0,"s":"^hoge\\d+$"}}
puts (0..42).to_json
# => {"json_class":"Range","a":[0,42,false]}
Discussion