小编Gra*_*ald的帖子

如何用Emacs nREPL选择/切换Leiningen配置文件?

我在我的leiningen项目文件中设置了:dev配置文件.这为我的repl会话定义了:init和:init-ns设置.如果我在emacs(Mx nrepl-jack-in)中使用光标在我的project.clj中的:dev关键字上启动nrepl,则启动repl并使用:init和:init-ns设置.如果我将光标放在其他位置,则初始命名空间不同(测试ns,而不是用户),并且:尚未评估init.

我猜这是某种特征,(我更倾向于认为它现在是随机的行为),但任何人都可以解释它或指向那些这样做的文档吗?此外,有没有办法在repl启动后更改配置文件?

谢谢

emacs clojure leiningen nrepl

7
推荐指数
2
解决办法
2130
查看次数

QEMU/KVM 缺少 CPU 功能标志(kvm 没有通过?)

我正在尝试使用 kvm 在 qemu 中进行一些操作系统开发。我使用的是 x86-64,我的主机 CPU 是 Intel i7-6700K (Skylake)。问题是当我使用-cpu host.

我特别在寻找“est”(增强型 SpeedStep)。如果我lscpu在主机中运行,它会显示许多 cpu 标志,包括 est。如果查看我的操作系统中的 cpuid 结果,我会看到大约一半丢失了,包括 est)。

我想我明白 kvm 不会自动通过所有 cpu 标志,但是我怎么能告诉它通过特定标志(或者可能只是所有标志)?

x86-64 kvm qemu osdev cpuid

5
推荐指数
1
解决办法
346
查看次数

Lua可以支持不区分大小写的方法调用吗?

我正在使用Lua作为我的C++应用程序的数据描述语言.我有一堆使用SLB 2.0绑定到Lua的C++类.我有绑定的方法,如'SetPos'或'SetName'.我使用键值为"pos"或"name"的值的表来指定位置或名称(例如).我希望能够获取密钥,前置'set',并调用方法,如果它存在(可能不存在).那可能吗?如果有,有什么建议吗?

我知道我可以使我的绑定方法小写,但我宁愿保持它们与它们所绑定的方法相同(尽管可能是我的后备).我可以尝试根据我的命名标准构建方法名称,但不区分大小写不容易出错.

我觉得应该有一个棘手的Lua片可以使用metatables来解决这个问题,但我自己也无法解决这个问题.

有什么建议?

谢谢!

lua metatable

4
推荐指数
1
解决办法
908
查看次数

如何让Clojure在REPL启动时加载项目特定的.clj文件?

如何让Clojure在repl启动时加载特定于项目的.clj文件?每当我打开一个新的repl时,我都希望有一些功能可供我使用(我在emacs上使用nREPL,这是值得的......)

谢谢

clojure leiningen

4
推荐指数
1
解决办法
581
查看次数

如何在Clojure和ClojureScript之间共享协议

我在交叉命名空间中有一个协议:

(ns xxx.shared.interfaces)

(defprotocol ITimer
  (seconds [timer] "Return time in seconds since timer began"))
Run Code Online (Sandbox Code Playgroud)

我有一个Clojure的实现:

(ns xxx.time
  (:require [xxx.shared.interfaces :refer [ITimer]]))

(defrecord Timer [start-nanos]
  ITimer
  (seconds [timer] (double (/ (- (System/nanoTime) (:start-nanos timer))
                              1000000000))))
Run Code Online (Sandbox Code Playgroud)

问题是,当我在一些Clojure代码中使用此代码时,需要xxx.time使用:refer :all它的命名空间抱怨它无法找到seconds:

Unable to resolve symbol: seconds in this context
Run Code Online (Sandbox Code Playgroud)

首先,是否有可能以这种方式共享协议?

其次,任何想法如何使这项工作?

第三,这实际上是一种很好的方式来进行这种代码共享吗?理想情况下我也想分享记录,但它依赖于Java代码,所以我需要将其分解为一个函数.这会是一个更好的方法来解决这个问题吗?

谢谢!

clojure clojurescript

2
推荐指数
1
解决办法
276
查看次数

标签 统计

clojure ×3

leiningen ×2

clojurescript ×1

cpuid ×1

emacs ×1

kvm ×1

lua ×1

metatable ×1

nrepl ×1

osdev ×1

qemu ×1

x86-64 ×1