「ソース」ファイルの「.zwc」バージョンを自動的に使用します。

「ソース」ファイルの「.zwc」バージョンを自動的に使用します。

*.zwcZ-shell Wordコードファイルまたはコンパイルされたスクリプトと思われるファイルが見つかりましたzsh

任意のファイルを-ingするときは、source次の方法がありますかzsh

  • .zwcファイルが存在し、ファイルより最新の場合は、そのファイルを使用してください。
  • それ以外の場合は、ファイルをZ-shell Word Codeにコンパイルしてsourceから

関数のみを含むファイルがある場合、答えは異なりますか?

Z-shell Word Codeのチュートリアルはあまりないようですので、自由に教えてください。

ベストアンサー1

少なくともファイルを使用するために.zwc何もする必要はありません。 〜のように.コマンドのZshマンページ状態:

[...]ファイル名文書.zwc'が見つかりましたが、文書、コンパイルされた形式です(zcompile組み込みを使用して生成されます)。文書、代わりにそのファイルからコマンドを読み取ります。文書

source検索順を除けばと同じなので同じだ。.


ラッパー関数を作成して、すべてのソーススクリプトの自動コンパイルを実行できます。たとえば、

source () {
    [[ ! "$1.zwc" -nt $1 ]] || zcompile $1
    builtin source $@
}

. () {
    [[ ! "$1.zwc" -nt $1 ]] || zcompile $1
    builtin . $@
}

もちろん、これらのラッパーは非常に簡単であるため、追加の障害保存が必要になる場合があります。たとえば、インポートしようとしているファイルがあるディレクトリに書き込みできない場合などです。また、ソースファイルに構文エラーがない場合でも、コンパイルが失敗する可能性があります。

おすすめ記事