2013-06-26 9 views
1

나는이 상황을 안고있다. 어떤 도움을 주시면 감사하겠습니다. 여기 인스턴스 변수를 만들지 않고 변수를 사용하는 방법

내 계급 구조의 전망이다

내가 그 매개 변수 A1이 존재인지 아닌지 확인해야 call_c에서 여기
class A 
    def 1_function a1 
    call_c 
    end 

    def 2_function 
    call_c 
    end 

    def call_c 
    if a1 present 
     do this 
    else 
     do this 
    end 
    end 
end 

class B 
    A.1_function a1 
end 

class C 
    A.2_function 
end 

. 1_function, 2_functioncall_c 사이에 실제로 중간 많은 기능이 있기 때문에 나는

방법 1 (따라서 내가 많이 변경 끝낼 것) call_c에 기본 있었던 파라미터를 추가 할 수 없습니다 : 내 클래스의 @ 변수를 만들 수 있습니다. 그러나 이것은 원자력을 중단시키고 정적 변수를 사용하여 상태를 유지하는 것은 부적절합니다.

다른 대안을 제안 해주세요.

+0

많은 Rails 경험을 가진 정말 훌륭한 담당자를 만났기 때문에 코딩 예에 약간 놀랐습니다. 구문 오류없이 무언가를 업데이트 하시겠습니까? 그리고 클래스 B와 클래스 C에서 인스턴스 메소드 이름을 클래스 A에 보내려는 것이 었습니까? 또한 @variables는 정적 변수가 아니며 인스턴스 변수입니다. 그게 네가하는 말인가? –

답변

0

는 아마도 내가 당신의 질문을 이해하지 않지만,이 정말 클래스와 A의 방법이 정말로 인스턴스 메소드 경우, 다음 인스턴스 변수에 a1를 저장하고 call_c에서 그것을 참조 본질적으로 잘못된 것은 정말 없습니다. BTW, 나는 1_function, 2_functioncall_c 모두가 메소드 이름으로 간주됩니다. 앞의 두 구문의 불법 구문에도 불구하고 말입니다.

관련 문제