-1

グローバル変数は絶対に使用すべきではないことは知っていますが、今のところ、それが私が仕事に取り掛かることができる唯一のものです。だから私は代替案を探しています。私がやりたいのは、クラスの@arrayメソッドにあるメソッドをメソッドに渡すことです。私がこれを達成することができた唯一の方法は、を使用することです。twoNewone$array

module Test::Abc
  class << self
    def one
      ....
    end

    class New
      def two
        @array=[]
      end
    end
  end
end

これが私が必要な結果を得るために私がしたことです...

module Test::Abc
  class << self
    def one(array)
      ....
    end
  end

  class New
    def two
      @array=[]
      array=@array
      Test::Abc::one(array)
    end
  end
end
4

2 に答える 2

1

これが私が解決策として思いついたものです...

module Test::Abc
  class << self
    def one(array)
      ....
    end
  end

  class New
    def two
      @array=[]
      array=@array
      Test::Abc::one(array)
    end
  end
end
于 2013-01-13T14:44:53.430 に答える
0

あなたの答えに加えて、これも機能するはずです(わずかな変更):

module Test::Abc
  class << self
    def one(array)
      ....
    end
  end

  class New
    def two
      @array=[]
      Test::Abc::one(@array)
    end
  end
end
于 2013-11-03T22:09:29.183 に答える