Opal의 'self.included'후크에서 기본 개체에 변수를 만들 수 없습니다.

써마 틱스

질문 제목에서 알 수 있듯이 모듈에 포함 된 후크가 있습니다.

def self.included(base)
    puts 'included'
    base.extend API
end

내 API는 개체에 특정 변수가 있어야하지만 생성되는 변수가 없습니다.

난 노력 했어:

  1. base.variable_name = []
  2. %x|#{base}.variable_name = []|
  3. base.instance_variable_set(:@variable_name,[])
  4. base.instance_exec{@variable_name = []}
  5. 1-2 내부 대신 base.instance_exec사용selfbase

그러나 그들 중 어느 것도 작동 variable_name=하지 않으며 콘솔 은 존재하지 않는다고 불평 합니다.

도대체 뭐야?

included후크 내부의 기본 개체에 변수가 존재하도록하려면 어떻게해야 합니까?

써마 틱스

결국, 나는 @variable_name ||= []그것을 작동시키기 위해 함수 정의 자체 내부 를 사용해야했다 . 나는 그것을 좋아하지 않지만 작동한다.

왜 내가 좋아하지 않는지 알고 싶다면 객체 속성을 한 번에 정의하면 정의 된 위치를 쉽게 찾고 초기 값을 변경할 수 있지만 여기서 변경하려면 추적해야하기 때문입니다. 원칙입니다).

개인적 선호도 같아요.

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

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

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

Django보기에서 개체를 만들 수 없습니다.

분류에서Dev

Firebase의 개체에 배열을 만들 수 없습니다.

분류에서Dev

Typescript에서 기본 매개 변수를 어떻게 만들 수 있습니까?

분류에서Dev

"|"때문에 NSURL 개체를 만들 수 없습니다. URL 문자열의 기호

분류에서Dev

Swift-NSData에서 JSON 개체를 만들 수 없습니다.

분류에서Dev

typescript에서 개체를 만들 수 없습니다.

분류에서Dev

Internet Explorer에서 "개체를 기본 값으로 변환 할 수 없습니다"

분류에서Dev

perl에서 개체 속성의 기본값을 반환 할 수 없습니다.

분류에서Dev

기존 기본 키 값으로 개체를 만들 수 없습니다.

분류에서Dev

table1 개체에서 별도의 변수 만들기

분류에서Dev

클로저에 정의 된 함수 개체를 만들 수 없습니까?

분류에서Dev

Javascript에서 진정한 변수를 만들 수 없습니다.

분류에서Dev

vba에서 0과 구분할 수있는 기본 빈 개체를 어떻게 만들 수 있습니까?

분류에서Dev

Android 앱에서 글꼴을 변경하면 응용 프로그램이 충돌합니다. 기본 서체를 만들 수 없습니다.

분류에서Dev

C #에서 바로 가기를 만들 수 없습니다.

분류에서Dev

Swift의 ViewController 클래스에서 하위 클래스의 개체를 만들 수 없습니다.

분류에서Dev

Swift의 ViewController 클래스에서 하위 클래스의 개체를 만들 수 없습니다.

분류에서Dev

Fragment에서 Activity의 개체를 변경할 수 없습니다.

분류에서Dev

PHPMailer 작성기에서 PHPMailer 개체 인스턴스를 만들 수 없습니다.

분류에서Dev

Python에서 빈 집합 만들기 : TypeError : 'dict'개체를 호출 할 수 없습니다.

분류에서Dev

Emgucv의 파일에서 캡처를 만들 수 없습니다.

분류에서Dev

Xamarin Android의 HTML에서 PDF를 만들 수 없습니다.

분류에서Dev

버튼, 개체 등의 크기를 창 크기에 따라 어떻게 만들 수 있습니까?

분류에서Dev

Windows CE 6 앱의 DataGrid에 대한 Winform의 DataGridBoolColumn에 대한 개체를 만들 수 없습니다.

분류에서Dev

Moshi 일반 클래스에 대한 변환기를 만들 수 없습니다.

분류에서Dev

'x'유형의 상수 값을 만들 수 없습니다. 이 컨텍스트에서는 기본 유형 또는 열거 유형 만 지원됩니다.

분류에서Dev

'?'유형의 상수 값을 만들 수 없습니다. 이 컨텍스트에서는 기본 유형 또는 열거 유형 만 지원됩니다.

분류에서Dev

Neo4j의 CSV에서 링크를 만들 수 없습니다.

분류에서Dev

Using 블록의 OleDbCommand : 기본 RCW에서 분리 된 COM 개체를 사용할 수 없습니다.

Related 관련 기사

  1. 1

    Django보기에서 개체를 만들 수 없습니다.

  2. 2

    Firebase의 개체에 배열을 만들 수 없습니다.

  3. 3

    Typescript에서 기본 매개 변수를 어떻게 만들 수 있습니까?

  4. 4

    "|"때문에 NSURL 개체를 만들 수 없습니다. URL 문자열의 기호

  5. 5

    Swift-NSData에서 JSON 개체를 만들 수 없습니다.

  6. 6

    typescript에서 개체를 만들 수 없습니다.

  7. 7

    Internet Explorer에서 "개체를 기본 값으로 변환 할 수 없습니다"

  8. 8

    perl에서 개체 속성의 기본값을 반환 할 수 없습니다.

  9. 9

    기존 기본 키 값으로 개체를 만들 수 없습니다.

  10. 10

    table1 개체에서 별도의 변수 만들기

  11. 11

    클로저에 정의 된 함수 개체를 만들 수 없습니까?

  12. 12

    Javascript에서 진정한 변수를 만들 수 없습니다.

  13. 13

    vba에서 0과 구분할 수있는 기본 빈 개체를 어떻게 만들 수 있습니까?

  14. 14

    Android 앱에서 글꼴을 변경하면 응용 프로그램이 충돌합니다. 기본 서체를 만들 수 없습니다.

  15. 15

    C #에서 바로 가기를 만들 수 없습니다.

  16. 16

    Swift의 ViewController 클래스에서 하위 클래스의 개체를 만들 수 없습니다.

  17. 17

    Swift의 ViewController 클래스에서 하위 클래스의 개체를 만들 수 없습니다.

  18. 18

    Fragment에서 Activity의 개체를 변경할 수 없습니다.

  19. 19

    PHPMailer 작성기에서 PHPMailer 개체 인스턴스를 만들 수 없습니다.

  20. 20

    Python에서 빈 집합 만들기 : TypeError : 'dict'개체를 호출 할 수 없습니다.

  21. 21

    Emgucv의 파일에서 캡처를 만들 수 없습니다.

  22. 22

    Xamarin Android의 HTML에서 PDF를 만들 수 없습니다.

  23. 23

    버튼, 개체 등의 크기를 창 크기에 따라 어떻게 만들 수 있습니까?

  24. 24

    Windows CE 6 앱의 DataGrid에 대한 Winform의 DataGridBoolColumn에 대한 개체를 만들 수 없습니다.

  25. 25

    Moshi 일반 클래스에 대한 변환기를 만들 수 없습니다.

  26. 26

    'x'유형의 상수 값을 만들 수 없습니다. 이 컨텍스트에서는 기본 유형 또는 열거 유형 만 지원됩니다.

  27. 27

    '?'유형의 상수 값을 만들 수 없습니다. 이 컨텍스트에서는 기본 유형 또는 열거 유형 만 지원됩니다.

  28. 28

    Neo4j의 CSV에서 링크를 만들 수 없습니다.

  29. 29

    Using 블록의 OleDbCommand : 기본 RCW에서 분리 된 COM 개체를 사용할 수 없습니다.

뜨겁다태그

보관