【发布时间】:2014-09-29 19:52:04
【问题描述】:
我有两个已序列化的 YAML 文件。
“PP”来自
ἀγαπάω:
present: ἀγαπάω
future: ἀγαπήσω
aorist: ἠγάπησα
...还有很多...
“词位”来自
ἀγαπάω:
pos: V
bdag-headword: ἀγαπάω
strongs: 25
gloss: I love
...many more...
我正在尝试将“gloss”和“strongs”的值添加到“pp”,或者将 pp 值与这些来自词位的新值合并。显然,ruby 不允许在迭代哈希时插入新值。到目前为止,我有:
pps = Hash.new
pp.each do |p|
lexemes.each do |lex, arr|
if lex.match /^#{p[0]}$/
#match found
puts "p #{p[0]} ... lex #{lex}...#{arr['strongs']}....#{arr['gloss']} .
(pps[p[0]] ||= []) << p
pps[p[0]].push(:strongs => arr['strongs'], :gloss => arr['gloss'])
end
end
end
当被倾销时会产生:
"ἀγαπάω":
- - "ἀγαπάω"
- present: "ἀγαπάω"
future: "ἀγαπήσω"
aorist: "ἠγάπησα"
- :strongs: 25
:gloss: I love
当我真正想要的时候:
ἀγαπάω:
present: ἀγαπάω
future: ἀγαπήσω
aorist: ἠγάπησα
strongs: 25
gloss: I love
知道我应该在哪里/如何管理新数据的插入吗?
谢谢!
【问题讨论】: