2

次のコードがコンパイルに合格できないのはなぜですか?

(defn testit [asym] (var asym))

エラーは次のとおりです。

CompilerException java.lang.RuntimeException: Unable to resolve var: asym in this context, compiling:(NO_SOURCE_PATH:1)
4

1 に答える 1

2

asymはありませんvar。ローカルです。この場合、変数の値として定義している関数への唯一の引数ですtestit

asymその関数から戻りたい場合:

(defn testit [asym] asym)

asym戻りたい var を指定するシンボルの場合は、次を使用しresolveます。

(defn testit [asym] (resolve asym))

一般的な注意:は、リーダー構文に対応する(var x)拡張特殊形式#'xです。

于 2012-07-26T09:35:48.597 に答える