2012-12-25 13 views
8

nauczyłem się z książki Programowanie w Scala że mogę uruchomić skrypt scala pisząc:Dwa sposoby uruchamiania skryptu scala, który jest lepszy?

#!/bin/sh 
exec scala "$0" "[email protected]" 
!# 
println("hello world") 

to jest OK, ale ja też próbowałem ten styl:

#!/usr/bin/env scala 
!# 
println("hello world") 

I znaleziono ten również działa poprawnie.
Więc nie mam pojęcia, jaka jest różnica między tymi dwoma.
A jeśli obie są w porządku, dlaczego książka wybrała poprzednią, aby zademonstrować, która wygląda nieco dłużej?

Odpowiedz

5

Są one równoważne. Różnica polega na tym, że ten ostatni uruchamia proces powłoki, aby uruchomić interpreter Scala, podczas gdy pierwszy używa programu env, który jest bardziej lekki niż powłoka i oczywiście nie wymaga mieszania kodu powłoki i Scali w jednym pliku (co może denerwuje twojego edytora i inne narzędzia).

Powiązane problemy