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