8

Programming in Scalaという本から、次のように書くことでscalaスクリプトを開始できることを学びました。

#!/bin/sh
exec scala "$0" "$@"
!#
println("hello world")

それは大丈夫ですが、私はこのスタイルも試しました:

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

そして、これも正しく動作することがわかりました。
だから私は2つの違いが何であるか分かりません。
そして、もし両方がOKなら、なぜこの本は前者をデモンストレーションに選んだのですか?

4

1 に答える 1

5

それらは同等です。違いは、後者は Scala インタープリターを開始するためにシェル プロセスを実行するのに対し、前者はenvシェルよりも軽量なプログラムを使用し、シェル コードと Scala を 1 つのファイルに混在させる必要がないことです (混乱する可能性があります)。エディターやその他のツール)。

于 2012-12-25T13:24:51.493 に答える