【发布时间】:2011-08-29 19:42:29
【问题描述】:
假设出于某种原因,我将在 ruby 脚本文件中定义一个数组变量,该文件将所有美国州作为字符串保存。这样做的干净方法是什么?通过干净,我并不是真的在寻找性能,而是更多的可读性。
以下是我尝试过但不太喜欢的几种方法:
单个 LONG 行定义。我不关心这个,因为它很长,或者需要换行。
states = ["Alabama", "Alaska", "Arizona", "Arkansas", "California", "Colorado", ...]
另一个选项是多行定义,将字符串推送到数组。这解决了长线(宽度方向),但我不关心 assignment 和 array.push 的混合使用。
states = ["Alabama", "Alaska", "Arizona"]
states.push("Arkansas", "California", "Colorado")
states.push("...")
另一种选择是单行推送。这似乎是一致的,但可能需要很长时间才能完成。
states = []
states.push("Alabama")
states.push("Alaska")
states.push("Arizona")
states.push("...")
现在,当然,理想情况下,我不会对数组值进行硬编码,而是应该从数据库或 Web 服务等中提取它们。但是,出于问题的目的,让我们假设这些值不存在目前在其他任何地方。
【问题讨论】:
-
只是为了记录,已经有提供这些数据的 gem。比较完整的一个是Carmen。
-
很高兴知道。实际上,我并不是真的在寻找状态列表。我只是用它作为例子。我很确定没有任何 gem 提供溶解气体分析单元使用的气体列表。