首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

"不知道如何在Clojure中创建ISeq:Symbol"错误

您好!您提到的问题是关于在Clojure中创建ISeq:Symbol错误。

在Clojure中,ISeq是一个接口,它表示一个可以遍历的序列。ISeq:Symbol是一个特定的实现,它将符号转换为可遍历的序列。

要在Clojure中创建一个ISeq:Symbol,您可以使用以下代码:

代码语言:txt
复制
(seq '(symbol1 symbol2 symbol3))

这将创建一个包含三个符号的序列。您可以使用这个序列来遍历这些符号。

如果您想要创建一个空的ISeq:Symbol,您可以使用以下代码:

代码语言:txt
复制
(seq '())

这将创建一个空的序列。

希望这可以帮助您解决问题!如果您有其他问题,请随时告诉我。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Clojure 运行原理之编译器剖析

LispReader.java 一般来说,具有复杂语法的编程语言会把词法分析与语法分析分开实现为 Lexer 与 Parser,但在 Lisp 家族,源程序的语法就已经是 AST 了,所以会把 Lexer...String token = readToken(r, (char) ch); return interpretToken(token); } Reader 的行为是由内置构造器(目前有数字、字符、Symbol...Clojure 里面通过defmacro函数创建宏,它会调用var的setMacro函数来设置元信息macro为true。...static Expr analyze(C context, Object form, String name) analyze 进行主要的语义分析,form参数即是宏展开后的各种数据结构(String/ISeq...每个文件生成一个__init 的加载类 gen-class 生成固定名字的类,方便与 Java 交互 生成的 bytecode 会在本系列第二篇文章详细介绍,敬请期待。

99930
  • Clojure 学习入门(5)—— 关键字

    一、创建: Keyword: 关键字是一个内部字符串; 两个同样的关键字指向同一个对象; 通常被用来作为map的key。 ...user=> (symbol 'foo) foo user=> (symbol "foo") foo user=> (symbol "clojure.core" "foo") clojure.core/...NO_SOURCE_FILE:0) user=> (name 0) java.lang.ClassCastException: java.lang.Integer cannot be cast to clojure.lang.Named...根据命名空间ns查找是否存在符号name,不存在,则创建;最有一个参数val作为值与符号进行绑定,代码如下:  user=> (intern 'user 'x) #'user/x user=> x java.lang.IllegalStateException...、symbol?用于检查指定的参数是否为关键字、或者是符号,是则返回true,否则返回false。  user=> (symbol? 'x) true user=> (symbol?

    61950

    泛函编程(22)-泛函数据类型-Monoid In Action

    这个特点把foldMapV的使用局限在必须消耗整个数据源的计算应用,求和、最大值等等。对于另外一些要求,:A => Boolean这种要求,即使第一个值就已经得到答案也必须走完整串数据。...我们在之前的章节里曾经讨论了一些数据结构List,Stream,Tree等。当我们需要处理这些结构中封装的元素时通常使用一些算法折叠算法。这种算法能保存数据结构。...我们可以试着创建一些Foldable实例看看: 1 object listFoldable extends Foldable[List] { 2 override def foldRight...a => (1, a)) 5 //> res0: (Int, Int) = (4,10) 在历遍过程我们把...key-value Map: Vector("a rose", "is a", "rose is", "a rose") >>> Map(a -> 3, rose -> 3, is -> 2) 这不就是搜索引擎的索引比重算法吗

    1.1K60

    Nodejs学习笔记(三)--- 模块

    /"开头表示同级目录下文件, 前面提到文件后缀可以省略,Nodejs尝试加载的优先级 js文件 > json文件 > node文件 创建一个自定义模块    以一个计数器为例 ?...requirerequire多次调用同一模块不会重复加载,Node.js会根据文件名缓存所有加载过的文件模块,所以不会重新加载了 注意:通过文件名缓存是指实际文件名,并不会因为传入的路径形式不一样而认会是不同的文件 在我创建的...isEq的值  ( var isEq = (exports === module.exports); ),返回的true  PS:注意是三个等号,如果不清楚自已查查资料吧!...调用后,执行结果如上图  我在2_modules_diff_exports_load.js文件输出了isEq的值  ( var isEq = (exports === module.exports);...PS:不要用Counter.printNextCount();去访问,你只会得到一个错误的提示 API提供了解释 http://nodejs.org/api/modules.html Note

    86680

    (cljsrun-at (->JSVM :browser) 语言基础)

    由于宿主环境的不同,因此只能与宿主环境无关的Clojure代码可以在JVM和JSVM间共享,并且cljs也未能完全实现clj的所有语言特性,更何况由于JSVM是单线程因此根本就不需要cljSTM等特性呢...……  transpile为JS的函数式编程那么多(Elm,PureScript),为什么偏要cljs呢?...,标识符 i-am-symbol ; Special Form ; if, let, do等 (if pred then else?)...|:=$&] 末尾字符不能是: 以:为首字符则解释为Keyword 命名空间  cljs每个symbol无论是函数还是绑定,都隶属于某个具体的命名空间之下,因此在每个.cljs的首行一般为命名空间的声明...1} ; -> {a: 1} (js-obj {:a 1}) ; -> {a: 1} ; 创建JS数组,以下两种形式是等价的 #js [1 2] (array 1 2) ; 创建指定长度的空数组 (

    2.9K70

    微服务开源框架TARS的RPC源码解析 之 初识TARS C++客户端

    服务器的socket标志)与Communicator客户端的信息(网络线程数)而生成ServantProxy句柄,通过句柄调用RPC服务。...ObjectProxy创建一个EndpointManager对象,在EndpointManager的初始化过程,依据客户端提供的信息,直接创建连接到服务端物理机的TCP/UDP连接AdapterProxy...或者从代理获取服务端物理机socket列表后再创建TCP/UDP连接AdapterProxy。...先创建一个ReqMessage变量msg,初始化msg变量,给变量赋值,Tars版本号,数据包类型,服务名,RPC方法名,Tars的上下文容器,同步调用的超时时间(单位为毫秒)等。...先创建一个ReqMessage变量msg,初始化msg变量,给变量赋值,Tars版本号,数据包类型,服务名,RPC方法名,Tars的上下文容器,异步调用的超时时间(单位为毫秒)以及异步调用后的回调函数

    2.1K2017

    不学函数式设计的3大损失

    这可能导致重复支付或错误地将未支付的订单标记为已支付。...在Clojure函数式编程,"不可变"(immutable)指的是一旦创建,就不能被改变的数据。具体来说,首先创建后的数据不能被修改。如果需要"改变",实际上是创建了一个新的数据副本。...而在Clojure,我们创建不可变的数据结构,并让这些数据流淌过一系列函数,每个函数基于输入,创建新的不可变数据结构,并返回,从而实现所需的功能,如图7所示。...图7左侧的这张图,就是我们从影院订票系统的Clojure版的main函数作为起点,绘制出的数据是如何在Clojure代码各个函数间流淌的图。...在Clojure版影院订票系统,create-movie-theater!函数创建了一个atom来表示电影院的座位状态,create-booking-system!

    42654

    (cljsrun-at (JSVM. :browser) 简单类型可不简单啊~)

    ,标识符 i-am-symbol ;; Var i-am-var ;; Special Form ;; if, let, do等 (if pred then else?)...在任何Lisp方言中Symbol作为标识符(Identity),命名空间名称、函数名称、变量名称、Special Form名称等等。...,标识产生副作用的函数 x-,标识其将产生私有方法,defn-和deftest- _,标识可忽略的symbol 既然Symbol仅仅作为标识符来使用,为何不见JS、C#等会将标识符独立出来作为一种类型呢...另外Clojure还有一个十分有趣的特性就是Symbol直接绑定值,中间没有Var,因此就不存在重新赋值的可能 (defn say [s] (println s)) (defn say1 [s...if就是一个原语,即使是Macro也没有办法从无来构造一个,不信大家自己试试吧! 部分常用的Special Form如下: (def symbol init?)

    71070

    【Manning新书】面向数据编程降低软件复杂度

    来源:专知本文为书籍介绍,建议阅读5分钟这本书讲述了一个故事,说明了面向数据编程(DOP)的价值,以及如何在现实生产系统应用它的原则。 面向数据编程是介绍面向数据范式的独一无二的指南。...最重要的是,该范例与语言无关,您将学习编写可以用JavaScript、Ruby、Python、Clojure实现的DOP代码,也可以用传统的OO语言(Java或c#)实现。...这本书讲述了一个故事,说明了面向数据编程(DOP)的价值,以及如何在现实生产系统应用它的原则。我的建议是跟着故事走,按顺序读各个章节。...第八章,高级并发控制,在我们的朋友Joe分解原子机制的实现细节之后,我们将学习如何在不使用任何锁的情况下以线程安全的方式管理整个系统状态。你根本不知道从原子到原子的复杂性!...第十五章,调试,把Dave和Theo带到博物馆最后一次“欢呼”,因为他们创造了一个创新的解决方案来重现和修复错误

    95520

    TypeScript是如何工作的

    ,并将这些 Symbol 连接到对应的节点上; 检查器再次扫描 AST,检查类型,并将错误收集起来; 发射器根据 AST 生成 JavaScript 代码。...如对于上文代码第 1 行和第 7 行的 a 变量,各自创建了一个 Symbol,但是这两个 Symbol 的 declarations 的内容是一致的,都是第一行代码 var a = 1;所对应的...Babel 有两种常见使用场景,一种是直接在 CLI 调用 babel 命令,另一种是将Babel 和打包工具( webpack)结合使用。...由于 babel 自身并不具备打包功能,所以直接在命令行调用 babel 命令的用处不大,本节主要讨论如何在 webpack 中使用 babel 处理 typescript。...并且 babel 的三个工作步骤,并没有输出错误的功能。 没有必要。类型验证错误提示可以交给编辑器。

    5.4K30

    hive之编译源码

    本来不想编译的,奈何在hive执行show create table table_name的时候显示为乱码。。。...hive源码编译 1 问题现象 在创建数据仓库的时候,总是要写上各种注释,这样才好去追寻血缘关系,这样好知道每个数据库干啥的,每个表干啥的,每个任务干啥的,这样才能把数据作为资产进行管理,所谓的让数据用起来.../ql/target/hive-exec-1.2.2.jar //找到对应的hive-exec-1.2.2.jar,替换掉hive里面的jar包 4 验证 创建一个表,用中文注释即可...you can resume the build with the command [ERROR] mvn -rf :hive-accumulo-handler 偶尔也会出现如下的错误...好看的人千篇一律,其他的就不知道了。。。一个问题的特殊性太高,或者使用的场景太少,带来的结果就是投入付出比例不均衡,但是这个又说明了你到底是放弃还是坚持,如果放弃,会不会在心里念念不忘。。。

    1.2K20

    几分钟内学习 Clojure

    (class 1) ; 整形字面值默认是java的Long类型 (class 1.); 浮点字面值对应着java的Double类型 (class ""); 字符串总是用双引号括起来,并且对应着java...的Sring类型 (class false) ;布尔值对应着java的Boolean类型 (class nil); null值被称为 nil(英语含义:无、零点) ; 如果你想创建一列数据字面值,...命名空间包含更多的函数 ; 一些有用的形式 ;;;;;;;;;;;;;;;;; ; clojure的逻辑结构都是宏, 看起来也没什么不同 (if false "a" "b") ; => "b"...:only [intersection]]) ; 使用reqire来导入一个模块 (require 'clojure.string) ; 使用/从一个模块调用函数 (clojure.string...;; ; java 拥有一个庞大的各种用途的标准库,你一定迫不及待想学习如何在clojure中使用这些库 ; 使用import类引入java模块(这个还好没变化) (import java.util.Date

    1.7K40

    Clojure 学习入门(18)—— 数据类型

    Clojure的类型既简单又复杂。Clojure的本身只有少量不同的类型,而且Clojure不是面向对象语言,它本身并不支创建新的用户自定义类型。一般来说,这让事情非常简单。...幸运的是,通常你只需要在Clojure关联Java代码时关注它。 表4-1....如果一个值有可能是nil,你就需要考虑代码的这种特殊情况,以避免这个操作会产生一个java.lang.NullPointerException错误。 nil和Java的Null是相同的。...因此,两个组合类型的数据,即使创建于不同的时间或不同的地点,也依然可以用来比较。 在Clojure中使用起来十分简单。...这样错会引发一个错误。 结构映射同时允许你创建十分高效的函数来访问键的值。普通映射的查找速度绝不慢,但使用结构访问函数,你将可以大大缩短普通键查找过程所花的时间,以适用于那些极端性能敏感场合的应用。

    2.3K10

    何在Ubuntu 14.04上部署Clojure Web应用程序

    具体来说,我们将创建一个示例Clojure应用程序并将其打包以供制作使用,并使用Supervisor在服务器上设置Clojure应用程序环境以运行应用程序和Nginx向其提供请求。...您的服务器上具有sudo访问权限的非root用户帐户,您可以按照这些说明进行设置 第一步 - 创建和打包示例Clojure应用程序 第一步是使用git抓取示例Clojure项目进行部署。...sudo mkdir -p /var/www/do-clojure-web/app/db /var/www/logs 现在,您可以将Clojure应用程序文件和数据库文件移动到您创建的目录。...要防止这种情况,请为当前运行的应用程序版本创建符号链接。您将在接下来的步骤引用符号链接。...sudo ln -s do-clojure-web-0.1.0-standalone.jar do-clojure-web.jar 该应用程序当前配置为只能通过localhost访问,但您仍然可以确保它启动时没有错误

    1.4K00
    领券