次のコードがコンパイルに合格できないのはなぜですか?
(defn testit [asym] (var asym))
エラーは次のとおりです。
CompilerException java.lang.RuntimeException: Unable to resolve var: asym in this context, compiling:(NO_SOURCE_PATH:1)
次のコードがコンパイルに合格できないのはなぜですか?
(defn testit [asym] (var asym))
エラーは次のとおりです。
CompilerException java.lang.RuntimeException: Unable to resolve var: asym in this context, compiling:(NO_SOURCE_PATH:1)
asym
はありませんvar
。ローカルです。この場合、変数の値として定義している関数への唯一の引数ですtestit
。
asym
その関数から戻りたい場合:
(defn testit [asym] asym)
asym
戻りたい var を指定するシンボルの場合は、次を使用しresolve
ます。
(defn testit [asym] (resolve asym))
一般的な注意:は、リーダー構文に対応する(var x)
拡張特殊形式#'x
です。