클래스를 동적으로 생성 할 때 초기화 오류

에드 드 알메이다

명령 줄에서 몇 가지 매개 변수를받습니다. 첫 번째는 원하는 작업을 수행하기 위해 어떤 종류의 uby 객체를 만들어야하는지 알려줍니다. 이 매개 변수를 저장 @entity한 다음 다음을 수행하여이 클래스의 인스턴스를 만듭니다.

entity_class = "EmeraldFW::#{@entity.capitalize}".split('::').inject(Object) {|o,c| o.const_get c}
entity_instance = entity.new(@arguments,@options)
entity_instance.execute_command

이러한 인스턴스 중 하나를 만들려고 할 때 오류가 발생합니다 (예 : Project).

내 프로젝트 클래스는

module EmeraldFW

  class Project < EmeraldFW::Entity

    def self.initialize(args,opts)
      @valid_option = [ :language, :test, :database, :archetype ]
      super(args,opts)
    end
.
.
.

내 클래스 Entity는

module EmeraldFW

  class Entity

    attr_accessor :entity_type, :valid_commands

    def self.initialize(args,opts)
      @args = args
      @opts = clean_option(opts)
    end

.
.
.

내 오류는

/home/edvaldo/software/github/emeraldfw21/lib/emeraldfw.rb:41:in `initialize': wrong number of arguments (given 2, expected 0) (ArgumentError)

왜 이런 일이 일어나는지 모르겠습니다. 보시다시피 initialize는 두 개의 인수를 수신하고 필요에 따라 두 개의 인수를 제공했습니다.

이걸 오랫동안 쳐다 보니까 이유를 알 수가 없어요. 누군가 나를 도와 줄까요?

안드레이 데이 네코

그것은 당신의 initialize메서드가 "클래스"메서드 (class 'singleton 메서드)로 작성되었지만 인스턴스 메서드 여야하기 때문입니다. 그 사실 때문에 initialize당신이 호출하는 원래 방법 new:

entity_instance = entity.new(@arguments,@options)

인수를 취하지 않습니다.

문제를 해결하려면 메서드 정의 에서 부품을 제거하십시오 .self.self.initialize


class Foo
  def initialize(bar, baz)
    @bar = bar
    @baz = baz
  end
end

Foo.new(:bar, :baz)
#=> #<Foo:0x007fa6d23289a0 @bar=:bar, @baz=:baz>

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

두 번째로 클래스를 인스턴스화 할 때 오류 발생

분류에서Dev

오디오를 동적으로 재생할 때 ActionScript 3 오류

분류에서Dev

C ++ 한 클래스를 다른 클래스의 생성자로 전달할 때 기본 생성자 오류 없음

분류에서Dev

다른 공용 클래스에서 변수를 초기화 할 때 C # 오류

분류에서Dev

파생 클래스 속성을 Angular의 기본 클래스 생성자에 전달할 때 오류 발생

분류에서Dev

python 3.8-초기화 될 때 클래스에 동적으로 속성 설정

분류에서Dev

새 클래스를 인스턴스화하려고 할 때 초기화되지 않은 상수 오류가 발생합니다.

분류에서Dev

생성자 내에서 인스턴스 변수를 초기화 할 때 Mockito 오류

분류에서Dev

배열 클래스를 템플릿으로 전환 할 때 오류 발생

분류에서Dev

크기가있는 객체의 벡터를 초기화 할 때 오류 발생

분류에서Dev

클래스 생성자 내에서 동적으로 할당 된 배열을 초기화하는 방법

분류에서Dev

로컬 디렉토리를 Git 저장소로 초기화 할 때 오류가 발생했습니다.

분류에서Dev

AutoIt에서 버튼을 동적으로 생성 할 때 아래 첨자 치수 오류

분류에서Dev

C : 구조체로 포인터를 초기화 할 때 분할 오류

분류에서Dev

클래스 및 생성자에서 벡터를 사용할 때 분할 오류

분류에서Dev

연결된 목록 C ++로 클래스를 시도 할 때 오류 발생

분류에서Dev

Walker 클래스로 WordPress 메뉴를 편집 할 때 오류 발생

분류에서Dev

클로저를 포함하는 이니셜 라이저 유형으로 속성을 초기화 할 때 컴파일 오류

분류에서Dev

기본 클래스 생성자에 매개 변수를 전달할 때 멤버 초기화

분류에서Dev

Objective-C 프로그램을 실행할 때 "클래스 객체를 초기화 할 수 없습니다"라는 오류가 발생하는 이유는 무엇입니까?

분류에서Dev

검색 쿼리를 동적으로 작성하려고 할 때 구문 오류

분류에서Dev

html5에서 선언 할 때 CSS 클래스를 동적으로 "생성"할 수 있습니까?

분류에서Dev

부모 클래스가 생성자의 인수로 자신을 취할 수 없을 때 인스턴스로 확장 클래스 초기화

분류에서Dev

부모 클래스가 생성자의 인수로 자신을 취할 수 없을 때 인스턴스로 확장 클래스 초기화

분류에서Dev

jQueryUI 대화 상자를 동적으로 생성 할 때의 이점

분류에서Dev

생성 된 클래스를 다른 함수에서 사용할 때 Python 오류

분류에서Dev

클래스 유형을 동적으로 생성 / 가져 오기

분류에서Dev

MOF를 생성하는 초기 동기화시 Azure DSC 오류

분류에서Dev

클래스 경로를 생성 할 때주기가 감지되었습니다.

Related 관련 기사

  1. 1

    두 번째로 클래스를 인스턴스화 할 때 오류 발생

  2. 2

    오디오를 동적으로 재생할 때 ActionScript 3 오류

  3. 3

    C ++ 한 클래스를 다른 클래스의 생성자로 전달할 때 기본 생성자 오류 없음

  4. 4

    다른 공용 클래스에서 변수를 초기화 할 때 C # 오류

  5. 5

    파생 클래스 속성을 Angular의 기본 클래스 생성자에 전달할 때 오류 발생

  6. 6

    python 3.8-초기화 될 때 클래스에 동적으로 속성 설정

  7. 7

    새 클래스를 인스턴스화하려고 할 때 초기화되지 않은 상수 오류가 발생합니다.

  8. 8

    생성자 내에서 인스턴스 변수를 초기화 할 때 Mockito 오류

  9. 9

    배열 클래스를 템플릿으로 전환 할 때 오류 발생

  10. 10

    크기가있는 객체의 벡터를 초기화 할 때 오류 발생

  11. 11

    클래스 생성자 내에서 동적으로 할당 된 배열을 초기화하는 방법

  12. 12

    로컬 디렉토리를 Git 저장소로 초기화 할 때 오류가 발생했습니다.

  13. 13

    AutoIt에서 버튼을 동적으로 생성 할 때 아래 첨자 치수 오류

  14. 14

    C : 구조체로 포인터를 초기화 할 때 분할 오류

  15. 15

    클래스 및 생성자에서 벡터를 사용할 때 분할 오류

  16. 16

    연결된 목록 C ++로 클래스를 시도 할 때 오류 발생

  17. 17

    Walker 클래스로 WordPress 메뉴를 편집 할 때 오류 발생

  18. 18

    클로저를 포함하는 이니셜 라이저 유형으로 속성을 초기화 할 때 컴파일 오류

  19. 19

    기본 클래스 생성자에 매개 변수를 전달할 때 멤버 초기화

  20. 20

    Objective-C 프로그램을 실행할 때 "클래스 객체를 초기화 할 수 없습니다"라는 오류가 발생하는 이유는 무엇입니까?

  21. 21

    검색 쿼리를 동적으로 작성하려고 할 때 구문 오류

  22. 22

    html5에서 선언 할 때 CSS 클래스를 동적으로 "생성"할 수 있습니까?

  23. 23

    부모 클래스가 생성자의 인수로 자신을 취할 수 없을 때 인스턴스로 확장 클래스 초기화

  24. 24

    부모 클래스가 생성자의 인수로 자신을 취할 수 없을 때 인스턴스로 확장 클래스 초기화

  25. 25

    jQueryUI 대화 상자를 동적으로 생성 할 때의 이점

  26. 26

    생성 된 클래스를 다른 함수에서 사용할 때 Python 오류

  27. 27

    클래스 유형을 동적으로 생성 / 가져 오기

  28. 28

    MOF를 생성하는 초기 동기화시 Azure DSC 오류

  29. 29

    클래스 경로를 생성 할 때주기가 감지되었습니다.

뜨겁다태그

보관