2016-02-26 22 views
5

C++ ha System.exit(0), VB ha End, C# ha Application.ExitUscire dal programma in smalltalk?

Come si uscire da un programma in Smalltalk? Sto usando Pharo. Nota: non sto cercando di uscire da Pharo stesso, ma solo di terminare il mio programma durante questa specifica istruzione.

ho trovato il modo per uscire Pharo sé, ma anche questo non è quello che sto cercando: Smalltalk exit: 0.

Grazie per qualsiasi aiuto!

+2

Che cos'è un programma nel contesto di Smalltalk? Intendi un'applicazione come un browser, un debugger o un workspace? –

risposta

5

La domanda in realtà ha due parti. Il Pharo stesso in uscita è l'equivalente di System.exit(0). Poiché un sistema esegue un processo C++ e quindi esce, lo stesso vale per Pharo.

Continuando così: si può prendere in considerazione l'avvio di un'altra immagine pharo da quella corrente e terminare il processo stesso, se lo si desidera.

Quello che stai veramente chiedendo è come uscire da una parte del codice che viene eseguita in Pharo. E questa è una domanda complicata perché devi anche rispondere dov'è il confine tra il tuo codice e Pharo. Penso che dipenda dalla tua implementazione. Forse è sufficiente chiudere una finestra o rimuovere un'istanza della classe da qualche parte.

Se si desidera un approccio più generico è possibile avviare l'esecuzione in un processo separato Pharo utilizzando [ ] fork e poi fermarlo mandando sia esso suspend o terminate (è possibile ottenere il processo attivo con Processor activeProcess). In alternativa puoi fare thisContext terminate.

+0

E in pratica usiamo solo l'approccio generico per processi simili a server. –