2010-12-02 3 views
5

저는 Io 언어로 연산자를 실험하고 있습니다. 모든 것이 cli에서 제대로 작동하지만 코드에 파일을 넣 자마자 문제가 발생합니다.이 연산자는 파일에서 생성 할 수 없습니다.

여기에 작은 예를

언급 한 바와 같이
OperatorTable addOperator("+++", 3)  # Say that +++ should be an operator 
Number +++ := method(v, call target + v) # Define the slot +++ on numbers 
(30 +++ 40) println      # Try it out! 

는, 이것은 CLI에서 잘 작동 (+와 같은 일을 연산자를 +++ 작성)입니다,하지만 난 실행하려고하면 작동하지 않습니다 파일에서. 운영자가 정의되기 전에 파일이 준비되었다는 사실과 관련이 있다고 생각하지만 어떻게 해결할 수 있습니까?

답변

4

이는 Io의 운전자 셔플러의 제한 사항입니다. 무엇 일어나는 것은 약이 : 소스 파일이로드

  1. , 토큰 화 된
  2. 운영자 실업자는
  3. 코드
  4. 불행하게도 당신을 위해

을 평가 실행 (이 단계에서, 어떤 사업자가 알려져 있지 않다) 당신은 운영자 셔플 러를 이미 조작 한 후에 조작하고 있습니다.

+0

감사합니다. 문제가 설명되어 있습니다. 어떻게 처리해야합니까? 내가 생각할 수있는 한 가지는 먼저 사용하고자하는 모든 연산자를 정의한 다음 내 프로젝트의 나머지 파일을로드하는 기본 파일을 만드는 것입니다. – Jakob

+0

정확합니다. jer