#!/bin/bash #= exec julia --color=yes --startup-file=no -e 'include(popfirst!(ARGS))' \ "${BASH_SOURCE[0]}" "$@" =# @show ARGS # put any Julia code hereこのコードはbashとしてもJuliaとしても解釈できるようになっているのがみそ。
bashで起動すると、2行目はコメントとして無視され、3行目が実行される。execなので、これ以降の行はbashとしては解釈されない。2行目はこのファイル自体を引数としてJuliaを起動している。
Juliaでは'#=' '=#'がマルチラインコメントとして無視されるので、2-5行目はスキップされ、6行目以降が通常のJuliaコードとして解釈されるという仕掛け。 なるほど。
0 件のコメント:
コメントを投稿