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

如何在clojure repl中使用java.time?Java互操作找不到类

在Clojure REPL中使用Java的java.time包,可以通过以下步骤进行:

  1. 首先,确保你已经在Clojure项目中引入了Java的java.time包。可以在项目的依赖管理文件(如project.clj或deps.edn)中添加以下依赖:
代码语言:txt
复制
[org.clojure/java-time "0.3.2"]
  1. 在Clojure文件中,使用requireuse指令导入java.time包:
代码语言:txt
复制
(ns my-namespace
  (:require [java.time]))
  1. 现在,你可以在Clojure REPL中使用java.time包中的类和函数了。例如,要使用LocalDateTime类,可以执行以下操作:
代码语言:txt
复制
(java.time.LocalDateTime/now)

这将返回当前的本地日期和时间。

注意:在Clojure中,Java类和函数的调用需要使用Java的命名约定,即使用斜杠(/)而不是点号(.)来分隔包和类名。

关于java.time包的更多信息和使用示例,你可以参考以下链接:

腾讯云相关产品和产品介绍链接地址方面,由于要求不能提及特定的云计算品牌商,我无法提供具体的链接。但你可以在腾讯云的官方网站上搜索相关产品,例如云服务器、云数据库等,以获取更多关于腾讯云的信息和产品介绍。

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

相关·内容

【100 种语言速成】第 5 节:Kotlin

Kotlin 之于 Java 就像 ES6 之于旧式 JavaScript。很多人都被 JavaScript 引擎(浏览器)或 JVM( Android)所困。...Kotlin 在 Android 开发人员特别受欢迎,但你可以在任何可以使用 JVM 的地方使用它,而且现在真的很难找到使用“纯 Java”的正当理由。...你甚至不能使用==, 你需要运行.equals(),但如果其中一方为空,那将真的崩溃,所以你需要先对双方进行空检查,然后.equals()。基本数据操作的样板数量太荒谬了。...函数式编程 我们如何在 Kotlin 执行 map、filter 和 reduce ?它看起来像带有{ arguments -> ... }块的 Ruby。...还有其他 JVM 语言, JRuby、Clojure、Scala 等,但它们本质上是不同的语言,具有不同的语义和不同的操作性故事。Kotlin 只是固定 Java,仅此而已。

1.6K51

Clojure文件操作和惰性序列

本文,我会介绍如何在Clojure读取和写入这些数据。 1. 打开文件 新建文件hello.txt,放到resources目录,内容如下: hello world! hello lambeta!...新建4io.clj,输入程序: (ns the-way-to-clojure.4io (:require [clojure.java.io :as io] [clojure.string...这里使用了(doall )方法,如果不用这个方法,在repl求值的时候会表达式导致抛出Unhandled java.io.IOException Stream closed异常。...使用clojure.java.io/writer 我们在项目的根目录新建numbers.txt,内容是多行的数字对,如下: 1.3 2.7 10000 1 -1 1 我们需要把每行两个数字,和它们相加的结果写入到...当repl尝试pretty-print惰性序列的结果时,才会进行变现操作。 有了上面的知识点,我们来考察with-open和(take 2 (line-seq ))的关系。

3.1K30

Clojure 开发那些事

里面函数是一级成员,这意味着函数可以作为参数传入,也可以作为函数值返回,能够进行这两操作的函数称为“高阶函数”(high-order functions),这在任何一门函数式语言中都很普及。...这也就意味我们或多或少需要了解这些宿主语言,比如 Clojure 里面没有提供直接操作文件系统、网络的库,而是采用间接的方法去调用其宿主语言的相应库。...第三方库的选择 由于 Clojure 语言定位就是个寄宿语言,所以无论是 Web 框架,还是数据库连接池,Clojure 里都有与 Java 版相对应包装库,大家不必担心要使用某个功能,而没有相应库的问题...其实,在使用第三方库之余,多去了解其实现,代码从 Github 上 Clone 下来,慢慢看,Clojure 里面提供了很多实用的小方法,像partition, juxt, group-by等等不一而足...nrepl ClojureREPL 可以连接到远程服务器上的进程,直接对进程的函数或变量进行修改,这是非常便利的,对于很多运行时的错误可以采用这种方式解决,Emacs 与 Intellj 里面都提供了连接远程

1.5K20

Clojure与LispClojure与Lisp

Clojure简介 运行于Java虚拟机的List方言Clojure....如今,在任何具备 Java 虚拟机的地方,都可以使用 Lisp 的强大功能。 Clojure 是一种函数式编程语言 它囊括了函数式编程的所有精华: 避免了不稳定状态、递归、更高阶的函数等。...Clojure 不仅可在 JVM 上运行,而且可以与Java无缝融合(JVM平台的语言家族原则上都支持)的操作性。最后,Clojure 在设计上也考虑了并发性,并具有并发编程的一些独特特性。...(3)实用:前面提到,构建在JVM之上,跟Java语言的操作非常容易。直接调用Java方法,不去发明一套新的调用语法,努力规避Java语言中繁琐的地方(doto,箭头宏等等)。...,能够跟Java代码无缝操作,JVM上所有资源都可以为Clojure所用。

1.9K30

Chrome Extension in CLJS —— 搭建开发环境

我们可以通过lein repl启动Clojure的nRepl。  ...repl升级cljs repl  通过lein repl我们建立了一个cljs nrepl供fireplace使用,但在终端我们看到的是一个clojurerepl,而tslime恰好要用的就是这个终端的...那现在我们只要在clojure repl执行(cemerick.piggieback/cljs-repl (cljs.repl.rhino/repl-env))即可。...然后就可以在vim把光标移动到相应的表达式上按,那么这个表达式就会自动复制粘贴到repl执行了。...但启用advanced编译模式后,由于上述外部标识符的定义并不纳入GCC的编译范围,因此GCC仅仅将调用部分代码压缩了,而定义部分还是原封不动,那么在运行时调用自然而然就找不到相应的定义咯。

2.1K60

StarUML 免注册码 Mac OS

使用Kotlin 让 Java程序员们的生活变得更好,Java的那些空指针错误,浪费时间的冗长的样板代码,啰嗦的语法限制等等,在Kotlin中统统消失。...Java诞生于1995年,至今已有23年历史。当前最新版本是 Java 9。在 JVM 生态不断发展繁荣的过程,也诞生了Scala、Groovy、Clojure 等兄弟语言。...2.与Java的100%操作性 Kotlin可以直接与Java交互,反之亦然。这个特性使得我们可以直接重用我们的代码库,并将其迁移到 Kotlin。由于Java操作性几乎无处不在。...3.扩展函数 Kotlin 类似于 C# 和 Gosu, 它提供了为现有提供新功能扩展的能力,而不必从该类继承或使用任何类型的设计模式 (装饰器模式)。...例如:集合 API、IO 扩展、反射API 等。同时 Kotlin 社区也提供了丰富的文档和大量的学习资料,还有在线REPL

3.3K41

Clojure 运行原理之字节码生成篇

上一篇文章讲述了 Clojure 编译器工作的整体流程,主要涉及 LispReader 与 Compiler 这两个,而且指出编译器并没有把 Clojure 转为相应的 Java 代码,而是直接使用...但仔细想想会有如下问题: 在 REPL 里面,可以动态添加、修改函数,如果一个命名空间相当于一个,那么这个会被反复加载 由于函数和字符串一样是一等成员,这意味这函数既可以作为参数、也可以作为返回值,...交互 defrecord、deftype生成同名的,proxy、reify生成匿名的 需要明确一点,只有在 AOT 编译时,Clojure 才会在本地生成 .class 文件,其他情况下生成的均在内存...正如上一篇文章的介绍,这三个方法正是 Compiler 的入口函数,这也就解释了上面 REPL 的实验: 每次重定义一个函数,都会生成一个新 DynamicClassLoader 实例去加载其实现。...# 为了能用 java -jar 方式运行,需要在 project.clj 添加 # :main how-clojure-work.core $ lein uberjar $ time java -jar

68920

Chrome Extension in CLJS —— 搭建开发环境

我们可以通过lein repl启动Clojure的nRepl。  ...repl升级cljs repl  通过lein repl我们建立了一个cljs nrepl供fireplace使用,但在终端我们看到的是一个clojurerepl,而tslime恰好要用的就是这个终端的...那现在我们只要在clojure repl执行(cemerick.piggieback/cljs-repl (cljs.repl.rhino/repl-env))即可。...然后就可以在vim把光标移动到相应的表达式上按,那么这个表达式就会自动复制粘贴到repl执行了。...但启用advanced编译模式后,由于上述外部标识符的定义并不纳入GCC的编译范围,因此GCC仅仅将调用部分代码压缩了,而定义部分还是原封不动,那么在运行时调用自然而然就找不到相应的定义咯。

1.7K20

《Kotin 编程思想·实战》

源代码编译执行过程 1.3.2 Java Class文件简介 1.3.3 JVM字节码执行过程 1.4 JVM语言家族 1.4.1 Scala 1.4.2 Groovy 1.4.3 Clojure...Kotlin 1.4.5 Xtend 第2章 Kotlin简介 2.1 kotlin简史 2.2 快速学习工具 2.2.1 云端IDE 2.2.2 本地命令行环境搭建 2.2.3 Kotlin REPL...操作(Interoperability) 9.1 使用工具互相转换 9.1.1 将 Java 转换为 Kotlin 9.1.2 将 Kotlin 转换为 Java 9.1.3 兼容 Java 的缺点...9.2 Kotlin与Java操作 9.2.1 Kotlin无缝调用第三方jar库 9.2.2 执行shell 9.2.3 文件操作 9.2.4 多线程代码 9.3 Kotlin与Java的区别...object 9.3.5 包级别函数 9.3.6 重载必须使用override 第10章 集合与泛型 10.1 Kotlin集合 10.1.1 不可变集合 10.1.1.1 List 10.1.1.2

1.1K10

clojure基础入门(一)

解压后用命令行进入到clojure目录下,输入下面命令进入REPL命令行交互界面: java -cp clojure-1.7.0.jar clojure.main ?...欢迎进入clojure的世界。  ? 变量 Clojure的变量可以def关键字来声明:  ? clojure数据类型是弱类型,对应java的object,然后通过变量名直接调用。...函数式编程以函数为第一对象,其小括号后面第一个元素被Clojure解释器当成一个函数或宏,其后面的都会被当成参数,如上"hello world"是被当成参数传入str函数进行输出。...函数 clojure以函数为第一对象,其小括号后面第一个元素被Clojure解释器当成一个函数或宏,其后面的都会被当成参数。...总结 Clojure里面的每个操作被实现成以下三种形式:  函数(function)     文中以defn定义的。

1.5K30

Java获取年份月份的方法

在实际开发,推荐使用java.time,因为它们更加强大且易于使用。 2. Java日期时间API概述 2.1 Java中日期时间API的演变 Java的日期时间API经历了几次重要的演变。...此外,java.time都是不可变的,这意味着它们是线程安全的,可以在多线程环境安全使用。 通过对比,可以看出java.time包提供了更加现代、更加强大且易于使用的日期时间处理方式。...在实际开发,推荐使用java.time包下的,因为它们提供了更好的编程体验和更强大功能,同时也更加符合现代Java的风格。 4....高级日期时间操作Java,除了基本的获取年份和月份外,还可以进行更高级的日期时间操作格式化日期、解析字符串、计算日期差等。以下是一些高级操作的示例代码。...在示例,我们只获取了月份的差值。 这些高级操作在处理日期时间数据时非常有用,特别是在需要显示给用户、处理用户输入或进行日期计算时。使用java.time可以方便地完成这些任务。 5.

10610

Java 8的函数式编程学习

事实上,很多函数式语言比这走得更远,将计算和算法看得比它们操作的数据更重要。其中有些语言想分离程序状态和函数(以一种看起来有点对立的方式,使用面向对象的语言,这通常会将它们联系得更紧密)。...Clojure编程语言就是一个这样的例子,尽管它运行于基于Java虚拟机,Clojure的本质是函数式语言,并且在高级语言源程序不直接公布和对象(尽管提供了与Java良好的操作性)。...函数能够很容易地结合在一起,这在开发者工作流风格很常见,例如Lisp方言和其它具有强函数传统的语言中很普遍的REPL(Read, Execute, Print, Loop)风格。...、接口或者数组属于引用类型。 Java平台的核心,Java平台将会加载、或链接的功能的基本单位,所有要执行的代码都必须驻留于一个。...Java 8需要引入一些新的类型来表示函数管道的基本构造块,java.util.function的Predicate、Function和Consumer接口。

93570

clojure基础入门(一)

解压后用命令行进入到clojure目录下,输入下面命令进入REPL命令行交互界面: java -cp clojure-1.7.0.jar clojure.main ?...欢迎进入clojure的世界。  ? 变量 Clojure的变量可以def关键字来声明:  ? clojure数据类型是弱类型,对应java的object,然后通过变量名直接调用。...函数式编程以函数为第一对象,其小括号后面第一个元素被Clojure解释器当成一个函数或宏,其后面的都会被当成参数,如上"hello world"是被当成参数传入str函数进行输出。...函数 clojure以函数为第一对象,其小括号后面第一个元素被Clojure解释器当成一个函数或宏,其后面的都会被当成参数。...总结 Clojure里面的每个操作被实现成以下三种形式:  函数(function)     文中以defn定义的。

1.3K40

使用 ClojureScript 开发浏览器插件的过程与收获

对于 Clojure,我目前在 sf 上有一套视频课程,供参考。 为了方便大家使用 cljs 开发插件,我整理了一份模板,供大家参考。...ClojureScript 工作机制 ClojureScript 是使用 Clojure 编写,最终编译生成 JS 代码的一个编译器,在编译过程中使用 Google Closure Compiler 来优化...采用这种方式会报如下的错误 根据错误提示,可以看出是 base.js 再去动态引用其他 js 文件时,是以访问网站为相对路径开始的,因此也就找不到正确的 JS 文件了。...这一点在 Clojure 里面虽然也存在,但是 Clojure 里面一般 repl 开了就不关了,直到电脑重启。...默认会使用 rhino 作为 repl 求值环境,这个在开发浏览器插件时功能很有限,但是对于查看函数定义还是可以的。

71830

Java 基础篇】Java Date 详解:日期和时间操作的利器

Java 编程,处理日期和时间是一项常见但复杂的任务。Java 提供了许多用于日期和时间操作,其中 java.util.Date 是最早的日期和时间之一。...本篇博客将详细介绍 Java java.time 包,重点关注 LocalDate、LocalTime 和 LocalDateTime 使用。 为什么使用 java.time 包?...在介绍 java.time 包之前,让我们先了解一下为什么我们需要它。在早期版本的 Java ,主要使用 java.util.Date 来处理日期和时间。...以下是一些关于 java.time 使用注意事项: 不可变性: java.time 是不可变的,这意味着一旦创建了日期时间对象,它的值将无法更改。因此,任何对日期时间的操作都会返回一个新的对象。...使用 java.time 包可以更轻松地处理日期和时间,避免了早期版本 java.util.Date 的一些问题,可变性和精度不足。

64410

(cljsrun-at (JSVM. :browser) 命名空间就这么简单)

:require引入macro已经间接接触到:require-macros了,因为它实际上会解析成:require-macros来使用的!...use-macros helper.core :only [i-am-macro1] :rename {i-am-macro1 m1})) (m1) 通过:import引入Google Closure的类型和枚举...])) require用在REPL中就好了  在REPL我们会使用require、use、require-macros、import等macro来引入命名空间。...请紧记,这些确实仅仅用于REPL而已。而且当我们修改源码后,需要通过(require 命名空间 :reload)来重置并重新加载这个命名空间,不带:reload的话新修改的功能将不会生效哦!  ... (require 'clojure.data) (require '[clojure.set :as s]) 最佳实践 根据clojure-style-guide描述优先级别如下: :require

79350

Java 会走向晦暗吗? Kotlin 会取而代之吗

但Kotlin成功的一个主要部分是它与Java的完美操作。Kotlin很棒,因为引擎盖下,它只是Java。与普通的Java相比,Kotlin没有任何根本的不同。...但在这两种情况下,我认为与其他平台的分支是由与Java平台的深厚联系所驱动的,并且这将继续成为其中的佼佼者。 4.Kotlin与Java操作很好,但并不完美。...其他问题围绕着命名的函数to,in并且is在某些情况下无法使用。 更不用说一个gremlin dsl命名了__!...Kotlin很不错,但操作性不如Clojure操作甚至F#/ C#操作 5. 将安卓 IOS 和Angular react.js和vue.js相比: ? 6....9.一些传统的Java“模式”(Synchronized SingletonFactory Factory 和Builder,继承地狱)等趋向于默默无闻,因为Java开始获得更多函数特性,lambdas

94610

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

由于宿主环境的不同,因此只能与宿主环境无关的Clojure代码可以在JVM和JSVM间共享,并且cljs也未能完全实现clj的所有语言特性,更何况由于JSVM是单线程因此根本就不需要cljSTM等特性呢...绑定 ; 声明一个全局绑定 (declare x) ; 定义一个没有初始化值的全局绑定 (def x) ; 定义一个有初始化值的全局绑定 (def x 1) 注意:cljs的绑定和函数遵循先声明后使用的规则...; 输出已加载的命名空间下的函数的源码 ; 注意:name必须是classpath下.cljs文件定义的symbol (cljs.repl/source name) ; 示例 (cljs.repl/...一个dynamic var) (pst) (pst e) 注意:当我们使用REPL时,会自动引入(require '[cljs.repl :refer [doc find-doc source apropos...=> (finally expr*) ; throw,将e-expr运算结果作为异常抛出 (throw e-expr) 进阶 与JavaScript操作(Interop) cljs最终是运行在JSVM

2.9K70
领券