main中的未定义方法错误:对象

时间:2014-07-12 10:33:26

标签: ruby

请参阅以下代码

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)

为什么我收到此错误?在要求部分添加任何内容?

3 个答案:

答案 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