【问题标题】:Yaml, am I doing this right?Yaml,我这样做对吗?
【发布时间】:2012-08-13 16:37:58
【问题描述】:

我有这样的 yaml:

Numbers Five:
  noun:
    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

这是写这个的正确方法吗?我这么说是因为我很难在完整的三个单词部分中抓住一个“名词”。或者我看到的整条线。相反,它会产生一个列出所有名词的哈希,但没有必要将它们分开。

我应该使用逗号分隔单词,还是有办法在不向 yaml 添加任何内容的情况下正确解析这些单词?

我的解析结构:

YAML::load(file).each do |topic, word_types|
  word_types.map do |type, words|
    words.split(' ').map do |word|
    #            ^ This is my ghetto way to do it, but would not work appropriately for a three word line.

【问题讨论】:

  • 为什么一个键有这么多值?
  • 不管怎样,你试过each_line吗?
  • @apneadiving 感谢您的回复。您的第一条评论可能是解决我认为应该如何编写 yaml 的问题。这可能是问题的根源。我想创建所有这些单词都具有属性名词的对象。此外,确实尝试过each_line,但它返回认为所有这些都在同一行内。 :(
  • 很难理解最终的目标,但正如你所说,使用逗号分隔值,它仍然是最简单的方法
  • 酷,我就是这么想的。感谢apneadiving。如果您愿意,我邀请您提供答案。

标签: ruby-on-rails ruby parsing yaml


【解决方案1】:

正如 cmets 中所讨论的,csv 是最简单的方法。仍然存在一个问题:那么 yaml 是存储数据的最佳格式吗? :)

【讨论】:

  • 您还有什么建议? :D
  • 我最初是这样做的。但我只是喜欢 yaml 在 csv 上的视觉清晰度。
  • 是的,顺便说一句,它有更好的键/值支持。
猜你喜欢
  • 2023-03-19
  • 1970-01-01
  • 2015-01-13
  • 2015-06-09
  • 2014-06-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多