Ruby 如何使用匹配结果查询用户?

Ruby 如何使用匹配结果查询用户?,ruby,Ruby,我有以下资料: dport = t.cmd("show ift").to_enum(:scan, /eth-\d/).map { Regexp.last_match } [#<MatchData "eth-0">, #<MatchData "eth-1">, #<MatchData "eth-2">, #<MatchData "eth-3">, #<MatchData "eth-4">, #<MatchData "eth-8"&

我有以下资料:

dport = t.cmd("show ift").to_enum(:scan, /eth-\d/).map { Regexp.last_match }
[#<MatchData "eth-0">, #<MatchData "eth-1">, #<MatchData "eth-2">, #<MatchData "eth-3">, #<MatchData "eth-4">, #<MatchData "eth-8">]
因此,我得出以下结论:

dport = t.cmd("show ift").to_enum(:scan, /eth-\d/).map { Regexp.last_match }
[#<MatchData "eth-0">, #<MatchData "eth-1">, #<MatchData "eth-2">, #<MatchData "eth-3">, #<MatchData "eth-4">, #<MatchData "eth-8">]

好的是,这正是我拍摄的目的;关于比赛。然而,我对如何前进感到有点困惑。我想查询用户并让用户选择一个特定的匹配项。有什么想法吗?提前感谢您对我的帮助

看起来您首先需要从每个MatchData对象中提取匹配的字符串,以向用户显示如下内容:

dport.each { |match| puts match[some_index] }
有关MatchData对象的更多信息,请参阅


然后假设您使用命令行从用户处获取输入,请使用gets方法:

谢谢您让我开始。这就是我最后所做的,它就像冠军一样。代码sel=1 vport=t.cmdshow ift.scan/eth-\d/vport.each{p1,p2{sel}{p1}{p2}\n sel+=sel}