1

scala インタープリターはシバンを許可しますが、奇妙なことに、scalac はそれらに対して borks します。この欠陥を回避するためのこのようトリックはありますか?

4

3 に答える 3

2

#! in scala は !# で閉じる必要があります。例えば:

#!/bin/bash
script_dir=$(cd $(dirname "$0") >/dev/null; pwd -P)
classes_dir=${script_dir}/build/classes
src_dir=${script_dir}/src

mkdir -p ${classes_dir}
scalac -d ${classes_dir} $(find ${src_dir} -name '*.scala')

exec /usr/bin/scala -classpath ${classes_dir} "$0" "$@"
!#
于 2012-10-18T21:54:04.047 に答える
0

これは「あいまいなシバン構文」の問題ではなく、「言語仕様」の問題だと思います。
シバンに関するウィキペディアの記事は次のように述べています。

#文字は多くのスクリプト言語のコメントマーカーであるため、シバン行の内容はインタプリタによって自動的に無視されます。スキーム
など、コメントの開始にハッシュマークを使用しない一部の言語通訳者は、シバン行を無視する場合があります。

したがって、scalacの仕様に、Schemeのように最初の行を「スクリプトヘッダー」として無視するディレクティブがない場合は、Jiraケース5179を待つ必要があります。

于 2011-11-11T10:11:16.093 に答える
0

scalacビルド スクリプトを呼び出す前に、それらを透過的に削除してみませんか?

于 2011-11-11T00:59:12.503 に答える