-1

我正在尝试运行一个简单的程序:

class Pras
  def samleMethod
    a = 12
    p "a"
  end
end

没有错误,但为什么不显示输出?

编辑

class Pras
  def samleMethod
    a = 12
    p a
  end
end
4

3 回答 3

1
class Pras
  def samleMethod
    a = 12
    p a
  end
end

在此,您将使用名为 sampleMethod 的公共方法创建一个名为 Pras 的类。

我假设你对 OOP 有一些了解

所以当你访问一个方法时,你需要创建一个类的实例来访问它。

p =  Pras.new

现在您可以使用实例访问该方法

p.sampleMethod

或两者都在一行中

  Pras.new.sampleMethod

我建议你仔细看看这个 tuts。http://www.tutorialspoint.com/ruby/ruby_quick_guide.htm

方法除非被调用,否则不会被执行。

在此处在线尝试此代码


于 2012-08-12T12:33:33.803 回答
1

您正在打印字符串 'a' 而不是变量。改用这个:p a

编辑:

正如 Rostyslav 所说,您没有执行任何操作:尝试Pras.new.samleMethod

于 2012-08-12T12:00:08.627 回答
1

非常适合我:

这里我们定义类:

irb(main):014:0> class Pras
irb(main):015:1> def samleMethod
irb(main):016:2> a = 12
irb(main):017:2> p a
irb(main):018:2> end
irb(main):019:1> end
=> nil

以下是如何创建该类的实例对象并调用实例方法并实际执行打印:

irb(main):020:0> Pras.new.samleMethod
12
=> 12
于 2012-08-12T12:06:14.673 回答