未显示局部变量输出

时间:2012-08-12 11:58:32

标签: ruby

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

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

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

修改

class Pras
  def samleMethod
    a = 12
    p a
  end
end

3 个答案:

答案 0 :(得分:1)

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

编辑:

正如Rostyslav所说,你没有执行任何事情:试试Pras.new.samleMethod

答案 1 :(得分:1)

完美适合我:

这里我们定义class:

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

答案 2 :(得分:1)

class Pras
  def samleMethod
    a = 12
    p a
  end
end

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

我假设您对OOP有一些了解

因此,当您访问某个方法时,您需要创建一个类实例来访问它。

p =  Pras.new

现在您可以使用实例

访问该方法
p.sampleMethod

或两者在一行

  Pras.new.sampleMethod

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

除非调用它们,否则不会执行

方法。

在线试用此代码here