वाईएएमएल दस्तावेज के अनुसार hash of options.to_yaml
विधि को पास करना संभव है।ruby 1.9.1 पर काम करने के लिए to_yaml विधि के लिए स्वरूपण विकल्प कैसे प्राप्त करें?
वर्तमान में जब मैं दस्तावेज द्वारा सुझाए गए विकल्पों को पास करता हूं तो यह काम नहीं कर रहा है, हैश को अनदेखा किया जा रहा है।
irb(main):001:0> require 'yaml'
=> true
irb(main):002:0> user = { "1" => { "name" => "john", "age" => 44 } }
user.to_yaml
=> "--- \n\"1\": \n name: john\n age: 44\n"
अब, कुछ विकल्प गुजर:
irb(main):014:0> user.to_yaml(:Indent => 4, :UseHeader => true, :UseVersion => true)
=> "--- \n\"1\": \n name: john\n age: 44\n"
irb(main):015:0> user.to_yaml(:Separator => "\n")
=> "--- \n\"1\": \n name: john\n age: 44\n"
irb(main):016:0> user.to_yaml(:separator => "\n")
=> "--- \n\"1\": \n name: john\n age: 44\n"
irb(main):017:0> RUBY_VERSION
=> "1.9.1"
आप देख सकते हैं, गुजर विकल्प काम नहीं करते। केवल डिफ़ॉल्ट:
YAML::DEFAULTS
=> {:Indent=>2, :UseHeader=>false, :UseVersion=>false, :Version=>"1.0", :SortKeys=>false, :AnchorFormat=>"id%03d", :ExplicitTypes=>false, :WidthType=>"absolute", :BestWidth=>80, :UseBlock=>false, :UseFold=>false, :Encoding=>:None}
क्या यह ज्ञात बग है? या यह वर्तमान में रूबी 1.9.1 का उपयोग कर किसी के लिए काम कर रहा है?
मुझे वही व्यवहार मिलता है जैसा आप देख रहे हैं। ऐसा लगता है कि बिना किसी संकल्प के पहले यह पूछा गया है: http://stackoverflow.com/questions/1054730/is-it-possible-to-specify-formatting-options-for-toyaml-in-ruby –
हां, उसमें अगर वे 1.8.7 का उपयोग कर रहे थे, तो मैं सोच रहा था कि यह 1.9.1 के लिए काम करता है, यह एक संक्षिप्त उत्तर के बिना एक समस्या प्रतीत होता है। – jpemberthy
मुझे इस का जवाब जानना अच्छा लगेगा। मैंने बहुत पहले छोड़ दिया और अपना खुद का "सॉर्ट द यम" फ़ंक्शन (1.8.7 के लिए) लिखा था। –