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

Ruby中如何将文本文件作为参数传入并打印其内容?

解决方案:通过命令行参数传入文件并打印内容

没问题!要实现把文本文件作为参数传入代码(而非硬编码文件名),同时打印文件内容,Ruby里用内置的ARGV数组就能轻松搞定,我给你两种实用的方案:

方案1:单文件处理+基础错误提示

这个方案会检查用户是否传入了参数,避免脚本直接报错,交互更友好:

# 获取命令行传入的第一个文件名参数
filename = ARGV.first

# 如果没有传入参数,给出提示并退出
unless filename
  puts "请传入要读取的文件名作为参数,示例用法:"
  puts "ruby your_script.rb test_list.txt"
  exit 1
end

# 打开文件并逐行打印内容
File.open(filename).each do |line|
  puts line
end

使用方法

在终端里运行你的脚本,后面跟上要处理的文件名就行:

ruby your_script.rb test_list.txt

方案2:支持多文件批量处理

如果需要一次处理多个文本文件,这个方案更高效,它会遍历所有传入的文件参数:

# 遍历所有命令行传入的文件名
ARGV.each do |filename|
  # 用File.foreach更高效,不需要一次性加载整个文件到内存
  File.foreach(filename) do |line|
    puts line
  end
end

使用方法

一次传入多个文件名即可:

ruby your_script.rb file1.txt file2.txt file3.txt

小提示

  • ARGV是Ruby的内置数组,会自动收集你在命令行运行脚本时传入的所有参数
  • File.foreach比File.open(...).each更适合大文件,因为它会逐行读取,不会占用过多内存

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.25 04:01:47