我有一个Foo应该以最人性化的方式序列化为文本文件的类,我使用Ruby的默认YAML(Psych)和自定义encode_with.我的问题是:如果我这样删除!ruby/object:Foo:
def encode_with coder
coder.tag = nil
...
end
Run Code Online (Sandbox Code Playgroud)
我能以某种方式继续强迫Psych将地图加载为类的对象Foo(使用它init_with).理想情况下,我也想删除---文档标记.
当然,这很容易解决gsub,但我想知道是否有一些心理解决方案.不幸的是,Psych并不是宝石中最好的记录.
我有一个像这样的数组:
[nil, nil, nil, 2, 4, 6, 1, nil, nil, 3, 4, 6]
Run Code Online (Sandbox Code Playgroud)
我需要的是一个很好的方法来删除所有领先的 nils(所以compact!很糟糕),并删除nils的数量(所以drop_while是坏的).