如何在 ruby 中正确使用 def 和 if..else 语句?

How to use correctly def with if..else statements in ruby?

我开始学习 ruby,目前我了解了如何创建 class 对象,以及如何编写非常简单的 IF..ELSE 语句。但是如何用 IF..ELSE 语句正确地写 def 呢? 请帮助建议如何正确编写它?

   #I can write simple statement like this 

number = 1
if number == 1
    number += 1
    puts "the number is #{number}"
else 
    puts "number is more then 2"
end

#But then i want to write something like this 

class Maths
  def initialize(number_id)
    @number = number_id 
  end 

  def numberdata()
    if @number == 1 
      @number +=1
      puts "the number is #@number"
    else 
      puts "number is greater than 3"
    end
  end
end

classob5 = Maths.new("1")
classob5.numberdata()

我预计第二部分的输出是 "the number is 2",但实际输出是 "number is greater than 3" 请大家帮忙指点一下怎么写才对。

这里的错误是 Maths class 在 classob5 = Maths.new("1").[=23 行中用 String 而不是 Integer 启动=]

所以,当调用 numberdata() 时,它会将值为“1”(String) 的 @number1 进行比较,这是一个Integer。因此,if 条件失败,因为它们不相等,并且您从 else 条件得到结果。

if..else的用法完全正确。 class 对象只需要实例化为 classob5 = Maths.new(1).