2013-02-21 4 views
3

Io에서 Futures와 함께 놀고 있습니다. 일부 작업을 수행하는 몇 가지 방법이 있습니다.Future throws 사용하기`스케줄러 : 다시 시작할 수 있도록 남은 것은 아무것도 없습니다 .`

a := method(10 + 20) 
b := method(20 + 30) 
c := method(30 + 40) 

그리고 이들을 동시에 실행하려고합니다. 이 예상대로 작동 그러나

m := method(list(@a, @b, @c)) 

f := @m 
writeln((f join(" + ")) .. " = " .. f sum) 

, 작동하지 않는 방법 m에 문자열을 만드는 일 이동 :

m := method(
    s := list(@a, @b, @c) 
    ((s join(" + ")) .. " = " .. (s sum)) 
) 

f := @m 
writeln(f) 

Scheduler: nothing left to resume so we are exiting을 제기합니다.

왜? 나는 무엇을 이해하지 못했을까요?

+0

를 다시하고 다시 설치 . –

답변

0

질문에 대한 답변이 없지만이 오류는 통역사에서 훨씬 간단한 작업을 수행 한 이후 발생한 문제와 관련이 없다고 생각됩니다.

Io> 1 proto 
==> 0 
Io> 5 proto 
==> 0 
Io> 0 proto 
==> 0 
Scheduler: nothing left to resume so we are exiting 
    --------- 
    Coroutine callStack     A4_Exception.io 244 
    Coroutine backTraceString   A4_Exception.io 274 
    Coroutine showStack     A4_Exception.io 177 
    Coroutine pause      A4_Exception.io 286 

은 그 때 나는 명령을 다시 시도하고 괜찮 았는데 :

╰─➤ io 
Io 20110905 
Io> 0 proto 
==> 0 
+1

이것은 단지 나에게도 일어났습니다 - 통역사에서 아주 단순한 것들이 당신과 똑같은 메시지를 받았습니다. –

1

그것은 대화 형 인터프리터의 버그입니다. 파일에 코드를 넣으면 제대로 작동합니다. IO 소스 코드 디렉토리에서

+0

슬프게도 사실이 아닙니다. '~/스크랩 $ io --version' 'Io Programming Language, v. 20140919' –

-1

: 그것은 이오 자체에서 문제처럼

  1. rm ./libs/iovm/source/IoVMInit.c
  2. 개방 ./libs/iovm/io/A4_Exception.io 및 주석 이 줄 //Exception raise("Scheduler: nothing left to resume so we are exiting")
  3. 이 지금 소리