【问题标题】:Create array from some string from text file - Ruby从文本文件中的一些字符串创建数组 - Ruby
【发布时间】:2021-12-18 17:50:36
【问题描述】:

我正在尝试从文本文件中的字符串创建数组。

例如在 txt 文件中我有字符串。

"ABC;DEF;GHI"

我想创建如下所示的数组:

["ABC","DEF","GHI"]

我已经尝试过以下使用方法:

File.open(file.txt).map { |line| line.split(/;/) }

但上述方法的输出是:

[["ABC","DEF","GHI"]]

你可能注意到这是一个数组中的一个数组。

我该怎么办?

【问题讨论】:

标签: arrays ruby-on-rails ruby string file


【解决方案1】:

使用flat_map 代替map

代码

File.open(file.txt).flat_map{ |line| line.split(/;/) }

【讨论】:

  • 谢谢它的工作:D
  • 我知道,但我不能早点接受,因为最早可以在提问后 10 分钟接受答案
  • 啊,好的。我以为你可能不知道,对不起!
【解决方案2】:

可以使用 String.prototype.split() 方法

"ABC;DEF;GHI".split(';')

=> ['ABC', 'DEF', 'GHI']

【讨论】:

  • 仔细阅读问题。他已经正确吐了。他的问题是内部数组。
  • 另外,Ruby 是一种基于类的 OO 语言,而不是基于原型的 OO 语言,所以 Ruby 中没有原型这种东西。
  • 正如目前所写,您的答案尚不清楚。请edit 添加其他详细信息,以帮助其他人了解这如何解决所提出的问题。你可以找到更多关于如何写好答案的信息in the help center
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-12-13
  • 1970-01-01
  • 1970-01-01
  • 2019-02-18
  • 1970-01-01
  • 2010-12-03
相关资源
最近更新 更多