1
많은 명령 줄 유틸리티처럼 루비에서 문자열을 구문 분석하는 방법은 무엇입니까? 나는 "command [--opt1=...] [--enable-opt2] --opt3=... arg1"
과 비슷한 문자열을 가지고 command(opt1,opt2,opt3,arg1...)
과 비슷한 방법을 사용합니다. 인수가 무작위 순서로 나오게하고 싶습니다. 그 중 일부는 선택 사항 일 수 있습니다. 순간 Ruby regexp 명령 줄을 구문 분석
text = "lastpost --chan=0chan.ru /s/"
command = (text.match /^\w+/)[0]
args = text.gsub(/^\w+/,'')
if args =~ /[[:blank:]]*(--chan\=([[:graph:]]+)[[:blank:]]+)*\/?(\w+)\/?/
chan = $2
section = $3
do_command(chan,section)
else
puts "wrong args"
end
을
나는 create_regexp (opts, args)를 가지고 있었으면 좋겠다. 정규 표현식을 생성해야한다.
이있는 경우 (하위) 명령을 위해 그것을 수행 'commander' 보석을 확인할 수 있습니다 발견했다. –