MST
星途 面试题库

面试题:Ruby中复杂命令行参数解析与处理

编写一个Ruby脚本,它可以接受多个命令行参数,其中可能包含选项(如 -v 代表详细输出模式, -h 代表帮助信息)以及常规参数(文件路径等)。实现解析这些参数的功能,当遇到 -v 选项时,在处理其他参数过程中输出详细的处理信息;遇到 -h 选项时,输出程序的使用说明。
24.4万 热度难度
编程语言Ruby

知识考点

AI 面试

面试题答案

一键面试
#!/usr/bin/env ruby

verbose = false
help = false
file_paths = []

ARGV.each do |arg|
  case arg
  when '-v'
    verbose = true
  when '-h'
    help = true
  else
    file_paths << arg
  end
end

if help
  puts "Usage: your_script.rb [-v] [-h] [file_path1] [file_path2] ..."
  puts "  -v: Enable verbose output"
  puts "  -h: Show this help message"
  exit
end

file_paths.each do |file_path|
  if verbose
    puts "Processing file: #{file_path}"
  end
  # 这里可以添加实际处理文件的代码,比如读取文件内容等
end