假设我有这个例子:
Example:
number:
cuarenta
cuarenta y uno
cuarenta y dos
cuarenta y tres
cuarenta y cuatro
cuarenta y cinco
cuarenta y seis
cuarenta y siete
cuarenta y ocho
cuarenta y nueve
我想解析这个,以便我将这些数字中的每一个都像“cuaranta y nueve”一样。我无法想象如何做到这一点,因为在YAML中,你变成了一个与“名词”相关联的字符串。
我的yaml解析器看起来像这样:
File.open(Rails.root + 'lib/words/yamlicious.yml', 'r') do |file|
YAML::load(file).each do |topic, word_types|
temp_topic = Topic.create! name: topic
temp_words = word_types.map{|type, words| words.split(' ').map {|word| Word.create type: type, word: word, topics: [temp_topic] } }
temp_topic.words << temp_words
end
end
请注意split
部分会破坏这一点,因为我会根据我的例子创建一个单词“cuarenta”,“y”和“uno”。
答案 0 :(得分:4)
要保留换行符,您必须使用pipe character:
Example:
number: |
cuarenta
cuarenta y uno
cuarenta y dos
…
现在你可以split("\n")