请参阅以下代码
require 'rubygems'
require 'selenium-webdriver'
findtrue = true
count = 0
while findtrue do
count+=1
if count 10
findtrue = false;
elsif puts count
end
end
我收到错误
undefined method `count' for main:Object (NoMethodError)
为什么我收到此错误?在要求部分添加任何内容?
答案 0 :(得分:2)
代码if count 10
已转换为方法调用:if count(10)
,您显然没有count
方法。我想你想使用像if count == 10
这样的比较运算符。
修改:您还应将elsif
更改为else
:
if count == 10
findtrue = false
else
puts count
end
答案 1 :(得分:1)
错误是由行
引起的if count 10
这是由ruby读的
if count(10)
尝试调用名为count
的方法,该方法不存在。
我猜你打算做的是检查计数是否等于10.为此,你需要添加==
标志:
if count == 10
答案 2 :(得分:0)
你来自一种更传统的程序语言来看你的代码,在Ruby中,这可以更清晰,更短,更简单的Rubyish。
首先,Ruby>不需要'rubygems'。 V1.9 其余的可以用这一行完成
9.times{|count|puts count}
或其较长版本
9.times do |count|
puts count
# and do whatever else
end