📝 Clojure教程
41篇技术文档📅  最后修改于: 2020-11-05 04:01:06        🧑  作者: Mango
列表是用于存储数据项集合的结构。在Clojure中,列表实现ISeq接口。使用list函数在Clojure中创建列表。例以下是在Clojure中创建数字列表的示例。现场演示输出上面的代码产生以下输出。以下是在Clojure中创建字符列表的示例。现场演示上面的代码产生以下输出。以下是Clojure中可用的列表方法。Sr.No.Lists & Description1list*Creates a ne...
📅  最后修改于: 2020-11-05 04:01:22        🧑  作者: Mango
Clojure中集是一组唯一值的。借助set命令在Clojure中创建集合。例以下是在Clojure中创建集合的示例。现场演示输出上面的代码产生以下输出。以下是Clojure中可用于集合的方法。Sr.No.Sets & Description1sorted-setReturns a sorted set of elements.2getReturns the element at the inde...
📅  最后修改于: 2020-11-05 04:01:38        🧑  作者: Mango
向量是由连续整数索引的值的集合。使用Clojure中的vector方法创建一个vector。例以下是在Clojure中创建向量的示例。现场演示输出上面的代码产生以下输出。以下是Clojure中可用的方法。Sr.No.Vectors & Description1vector-ofCreates a new vector of a single primitive type ‘t’, where ‘t...
📅  最后修改于: 2020-11-05 04:02:00        🧑  作者: Mango
映射是将键映射到值的集合。提供了两种不同的地图类型-哈希和排序。HashMaps需要正确支持hashCode和equals的键。SortedMaps需要实现Comparable的键或Comparator的实例。可以通过两种方式创建映射,第一种是通过hash-map方法。创建-HashMapsHashMap具有典型的键值关系,并且是通过使用hash-map函数创建的。现场演示输出上面的代码产生以下输...
📅  最后修改于: 2020-11-05 04:02:18        🧑  作者: Mango
与Java中一样,Clojure中的命名空间用于将类区分为单独的逻辑空间。请考虑以下语句。在上面的语句中,“ clojure.set”是一个命名空间,其中包含要在程序中使用的各种类和方法。例如,上述名称空间包含名为map-invert的函数,该函数用于反转键-值的映射。除非我们明确告知程序包含此名称空间,否则我们无法使用此函数。让我们看一下可用于名称空间的不同方法。Sr.No.Methods & ...
📅  最后修改于: 2020-11-05 04:03:14        🧑  作者: Mango
任何编程语言都需要异常处理来处理运行时错误,以便可以维护应用程序的正常流程。异常通常会中断应用程序的正常流程,这就是为什么我们需要在应用程序中使用异常处理的原因。例外大致分为以下几类-检查异常-扩展Throwable类的类(RuntimeException和Error除外)称为检查异常。例如IOException,SQLException等。在编译时检查已检查的异常。让我们考虑以下程序,该程序对名...
📅  最后修改于: 2020-11-05 04:03:32        🧑  作者: Mango
序列是通过“ seq”命令创建的。以下是一个简单的序列创建示例。现场演示上面的程序产生以下输出。以下是可用于序列的各种方法。Sr.No.Methods & Description1consReturns a new sequence where ‘x’ is the first element and ‘seq’ is the rest.2conjReturns a new sequence wh...
📅  最后修改于: 2020-11-05 04:03:53        🧑  作者: Mango
正则表达式是一种用于在文本中查找子字符串的模式。正则表达式在多种编程语言中使用,并且在LISP类型的编程语言中使用很多。以下是正则表达式的示例。上面的正则表达式用于查找字符串数字的另一个出现。 //字符用于确保字符“ d”和“ +”用于表示正则表达式。通常,正则表达式可使用以下规则集。有两个特殊的位置字符用于表示行的开头和结尾:脱字号(∧)和美元符号($):正则表达式也可以包含量词。加号(+)表示...
📅  最后修改于: 2020-11-05 04:04:10        🧑  作者: Mango
谓词是评估条件并提供true或false值的函数。在数字一章的示例中,我们已经看到谓词功能。我们已经看到了诸如“偶数”之类的功能。用于测试数字是否为偶数或“负”?用于测试数字是否大于零。所有这些函数都返回true或false值。以下是Clojure中的谓词示例。现场演示上面的程序产生以下输出。除正常谓词功能外,Clojure还为谓词提供了更多功能。以下方法可用于谓词。Sr.No.Methods &...
📅  最后修改于: 2020-11-05 04:04:38        🧑  作者: Mango
解构是Clojure中的一项功能,它允许人们从数据结构(例如向量)中提取值并将其绑定到符号,而无需显式遍历数据结构。让我们看一下“解构”到底意味着什么以及它如何发生的示例。例现场演示上面的程序产生以下输出。输出在以上示例中,需要注意以下事项-我们正在定义一个整数向量,分别为1、2、3和4。然后,我们使用‘let’语句直接将4个变量(a,b,c和d)分配给my-vector变量。如果对四个变量运行‘...
📅  最后修改于: 2020-11-05 04:05:01        🧑  作者: Mango
由于Clojure框架是从Java类派生的,因此可以使用Clojure中Java中可用的日期时间类。上课日期代表特定的时间瞬间,精确到毫秒。以下是可用于日期时间类的方法。java.util.Date这用于在Clojure中创建日期对象。句法以下是语法。参数-无。返回值-分配一个Date对象并对其进行初始化,以便它表示分配该对象的时间(以最近的毫秒为单位)。例以下程序显示了有关如何使用它的示例。现场...
📅  最后修改于: 2020-11-05 04:05:20        🧑  作者: Mango
原子是Clojure中的一种数据类型,它提供了一种管理共享,同步,独立状态的方法。原子就像任何其他编程语言中的任何引用类型一样。原子的主要用途是保存Clojure的不可变数据结构。原子持有的值随交换更改!方法。在内部,交换!读取当前值,对其应用函数,然后尝试进行比较和设置。由于另一个线程可能在中间时间内更改了该值,因此它可能必须重试,并在旋转循环中这样做。最终结果是,该值将始终是原子地将提供的函数...
📅  最后修改于: 2020-11-05 04:05:34        🧑  作者: Mango
在Clojure中,元数据用于注释集合中的数据或存储在符号中的数据。通常用于将有关类型的数据注释给基础编译器,但也可以用于开发人员。元数据不被视为对象值的一部分。同时,元数据是不可变的。关于元数据,在Clojure中可以进行以下操作。Sr.No.Operations & Description1meta-withThis function is used to define a metadata ...
📅  最后修改于: 2020-11-05 04:05:49        🧑  作者: Mango
StructMaps用于在Clojure中创建结构。例如,如果您想创建一个由Employee Name和Employeeid组成的结构,则可以使用StructMaps完成。关于ClouctMap,在Clojure中可以进行以下操作。Sr.No.Operations & Description1defstructThis function is used for defining the struc...
📅  最后修改于: 2020-11-05 04:06:09        🧑  作者: Mango
正如多次指出的那样,Clojure是一种编程语言,其中许多数据类型是不可变的,这意味着更改变量值的唯一方法是创建一个新变量并为其分配新值。但是,Clojure确实提供了一些可以创建可变状态的元素。我们已经看到,这可以通过原子数据类型来实现。可以通过代理实现的另一种方式。代理为各个位置提供独立的异步更改。代理在其整个生命周期内都绑定到一个存储位置,并且仅允许该位置由于操作而发生突变(变为新状态)。动...