Ruby Metaprogramming:如何打印局部变量和类变量定义instide构造函数

时间:2017-09-30 10:56:59

标签: ruby metaprogramming

我正在学习元编程并试图解决这里给出的谜题http://ruby-metaprogramming.rubylearning.com/html/Exercise_1.html

class A
  def initialize
    @a = 11
    @@a = 22
    a = 33
  end
  @a = 1
  @@a = 2
  a = 3
end

Given the above class i have to print below ouptput

1
2
3
11
22
33

我无法打印33和3。 任何人都可以帮我打印吗?

1 个答案:

答案 0 :(得分:0)

请查看这个要点:https://gist.github.com/greggawatt/8994520

set serveroutput on;
DECALRE
num NUMBER(10) := #

BEGIN

for i in 1..10 
loop
    dbms_output.put_line(num);
    END loop;
END;
/

这里我们使用$results = [] $results << class A def initialize @a = 11 @@a = 22 a = 33 end @a = 1 @@a = 2 a = 3 end 返回给定实例变量的值,并使用instance_variable_get来检索类变量的值。

class_variable_get