我刚开始学ruby,今天遇到了一个问题。

numResults = /\d+/.match(ie.div(:id, 'results_label').text)
puts "Results found: "+numResults.to_s

while(numResults > 0)
.
. some more code
.

输出中出现此错误:
Exception: undefined method `>' for #<MatchData:0x424c6d4>

这真的很奇怪,因为我在irb中做了一个while循环,它工作得很好。
我无法让循环中的代码执行,因为程序一直处于这种状态。
有人知道怎么了吗?

最佳答案

numResults是一个MatchData对象,不能与>方法进行比较。您需要将其转换为字符串,然后将字符串转换为数字:

while(numResults.to_s.to_i > 0)

07-24 22:29