Clojure:将字符串转换为函数
以下工作: 首先解析符号[1 2 3] ;; => 1. 为什么这样想是错误的 先读取字符串[1 2 3] ;; => 无 应该行,但不行?我得到nil。解析符号first的返回值可能是应用于参数的变量clojure.core/first 读取字符串first的返回值是符号first,它也应用于参数。但使用符号作为功能有不同的含义。参数应该是一个映射,返回的值相当于对符号执行get a-map操作 任何实现clojure.lang.IFn的类型都可以位于函数位置。使用符号作为带有向量参数的函数返回nil而不是failed的原因在于在这种特殊情况下,arity 1的类型: 公共对象调用对象对象{ 返回RT.getobj,this; } 检查obj是否实现了ILookup,如果实现了,则调用ILookup.valAt。Clojure向量确实实现了ILookup,但它们是 公共对象valAtObject键,未找到对象{ ifUtil.isIntegerkey { int i=数字键。int值; ifi>=0&&i<计数 返回nthi; } 返回未找到; } 公共对象valAtObject键{ 返回valAtkey,null; } resolve symbol first的返回值可能是变量clojure.core/first,它将应用于参数 读取字符串first的返回值是符号first,它也应用于参数。但使用符号作为功能有不同的含义。参数应该是一个映射,返回的值相当于对符号执行get a-map操作 任何实现clojure.lang.IFn的类型都可以位于函数位置。使用符号作为带有向量参数的函数返回nil而不是failed的原因在于在这种特殊情况下,arity 1的类型: 公共对象调用对象对象{ 返回RT.getobj,this; } 检查obj是否实现了ILookup,如果实现了,则调用ILookup.valAt。Clojure向量确实实现了ILookup,但它们是 公共对象valAtObject键,未找到对象{ ifUtil.isIntegerkey { int i=数字键。int值; ifi>=0&&i<计数 返回nthi; } 返回未找到; } 公共对象valAtObject键{ 返回valAtkey,null; } 胡安是正确的:Clojure:将字符串转换为函数,clojure,Clojure,以下工作: 首先解析符号[1 2 3] ;; => 1. 为什么这样想是错误的 先读取字符串[1 2 3] ;; => 无 应该行,但不行?我得到nil。解析符号first的返回值可能是应用于参数的变量clojure.core/first 读取字符串first的返回值是符号first,它也应用于参数。但使用符号作为功能有不同的含义。参数应该是一个映射,返回的值相当于对符号执行get a-map操作 任何实现clojure.lang.IFn的类型都可以位于函数位置。使用符号作为带有向量参数的函数返
(resolve (symbol "first")) => <#clojure.lang.Var #'clojure.core/first>
(read-string "first") => <#clojure.lang.Symbol first>
有关Clojure Var对象的双重间接寻址的更多信息,请参见。Juan是正确的:
(resolve (symbol "first")) => <#clojure.lang.Var #'clojure.core/first>
(read-string "first") => <#clojure.lang.Symbol first>
有关Clojure Var对象的双重间接寻址的更多信息,请参见