この単純なコードが機能しない理由を突き止めようとして、過去 30 分間、頭を壁にぶつけていました。少なくとも 1 つのコマンド ライン引数が指定されているかどうかを確認するだけです。
(defn check_args []
(if (first *command-line-args*)
println "value is not nil"
println "value is nil"))
(check_args)
コードを実行すると、次のような実行時例外が発生します。
java.lang.RuntimeException: Too many arguments to if
単純なことだと思いますが、私の人生では、どこに問題があるのか わかりません。シーケンスから最初の項目を取り出すコードは、シーケンスの最初の項目を返すか、それが存在しない場合は nil を返します。