You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Ruby如何从文本文件的字符串生成指定格式的一维数组?

问题原因

你得到嵌套数组的核心原因是:map方法会把每一行split返回的子数组,直接作为外层数组的独立元素。即使你的文件只有1行内容,最终也会被包装成[子数组]的嵌套结构。

解决方案

分两种场景对应处理:

  • 场景1:文件只有1行内容
    直接读取整个文件内容后做分割即可,不需要逐行遍历:
File.read("file.txt").split(/;/)

运行后直接得到["ABC","DEF","GHI"]的一维数组结构。

  • 场景2:文件包含多行,每行都是分号分隔的字符串
    用flat_map替换原来的map即可,flat_map会自动把每行split返回的子数组展开,最终合并为一个一维数组:
File.open("file.txt").flat_map { |line| line.split(/;/) }

注意:你的原代码中file.txt没有加引号,属于语法错误,实际运行时要把文件名用引号包裹为字符串格式。

内容的提问来源于stack exchange,提问作者Domagoj Marosevic

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.27 23:06:03