3
我想检查一个字符串是否有效YAML。我想从我的Ruby代码中用宝石或库来做到这一点。我唯一有此开始/救援条款,但它并没有得到适当的抢救:如何检查字符串是否有效YAML?
def valid_yaml_string?(config_text)
require 'open-uri'
file = open("https://github.com/TheNotary/the_notarys_linux_mint_postinstall_configuration")
hard_failing_bad_yaml = file.read
config_text = hard_failing_bad_yaml
begin
YAML.load config_text
return true
rescue
return false
end
end
我遗憾的是越来越可怕的错误:
irb(main):089:0> valid_yaml_string?("b")
Psych::SyntaxError: (<unknown>): mapping values are not allowed in this context at line 6 column 19
from /home/kentos/.rvm/rubies/ruby-1.9.3-p374/lib/ruby/1.9.1/psych.rb:203:in `parse'
from /home/kentos/.rvm/rubies/ruby-1.9.3-p374/lib/ruby/1.9.1/psych.rb:203:in `parse_stream'
from /home/kentos/.rvm/rubies/ruby-1.9.3-p374/lib/ruby/1.9.1/psych.rb:151:in `parse'
from /home/kentos/.rvm/rubies/ruby-1.9.3-p374/lib/ruby/1.9.1/psych.rb:127:in `load'
from (irb):83:in `valid_yaml_string?'
from (irb):89
from /home/kentos/.rvm/rubies/ruby-1.9.3-p374/bin/irb:12:in `<main>'
'!!'是什么意思? – fotanus 2013-05-02 01:51:42
在IRB中尝试'!true',然后尝试'!! true',然后尝试'!('foo'=='foo')',后面跟着!!('foo'=='foo')'。 – 2013-05-02 01:53:02
对不起,不知道我在想什么... – fotanus 2013-05-02 01:56:19