我正在尝试使用Clojure来运行我的Leiningen项目.尽管LightTable表示它已在连接窗格中连接,但除非我手动调用main函数,否则它不会执行.
project.clj:
(defproject lein-test "0.1.0-SNAPSHOT"
:description "FIXME: write description"
:url "http://example.com/FIXME"
:license {:name "Eclipse Public License"
:url "http://www.eclipse.org/legal/epl-v10.html"}
:dependencies [[org.clojure/clojure "1.5.1"]]
:main lein-test.core)
Run Code Online (Sandbox Code Playgroud)
core.clj:
(ns lein-test.core)
(defn -main [& args]
(println "asdf"))
Run Code Online (Sandbox Code Playgroud)
当我与EVAL CTRL + SHIFT整个文件+进入,我看到nil
通过ns
在控制台并没有什么.如果我加
(-main)
Run Code Online (Sandbox Code Playgroud)
然后控制台显示'asdf'.lein run
在命令提示符下产生预期的行为.我错过了什么?
我想保存格式良好的Clojure代码.Eclipse可以在每次保存文件时格式化代码.在Light Table中拥有相同的内容会很不错.手动,我可以通过选择全部(ctrl+ a)然后运行(ctrl+ space)来实现Editor: Smart indent line(s)
.有没有办法在每次保存文件时自动执行此操作?
我正在尝试使用paredit编辑Light Table上的Clojure/ClojureScript文件,但插件似乎不起作用.当我打开括号时,它没有关闭.
但是插件安装如插件列表所示.
我错过了一些配置步骤,还是错误?
(在撰写本文时,我刚刚安装了最新版本,但没有触及配置).
目前我正在使用LightTable来运行clojure项目,而使用Leiningen我可以为项目指定一个版本.但是,对于不属于项目的.clj文件,LightTable REPL似乎表示clojure版本为1.5.1.
我想将所有.clj文件设置为1.7.0,有没有办法做到这一点?
我有一个向量向量,其中包含一些字符串和整数:
(def data [
["a" "title" "b" 1]
["c" "title" "d" 1]
["e" "title" "f" 2]
["g" "title" "h" 1]
])
Run Code Online (Sandbox Code Playgroud)
我试图迭代向量并返回(?)包含特定字符串(例如“a”)的任何行。我尝试实现这样的事情:
(defn get-row [data]
(for [d [data]
:when (= (get-in d[0]) "a")] d
))
Run Code Online (Sandbox Code Playgroud)
我对 Clojure 很陌生,但我相信这是在说:对于“data”中的每个元素(向量),如果该向量包含“a”,则返回它?
我知道 get-in 需要 2 个参数,这部分是我不确定该怎么做的地方。
在Sublime Text中,您可以使用ctrl+p
并输入文件名转到任何文件.Light Table中是否有类似的功能?我了解如何编辑用户键映射; 只是找不到相关的命令.
我今天正在与Clojure迈出第一步,我遇到了第一个令人困惑的障碍!
我已经构建了一个新的Leiningen(2.5.1)项目,只想运行默认代码,即:
(ns wavescript.core
(:gen-class))
(defn -main
"I don't do a whole lot ... yet."
[& args]
(println "Hello, World!"))
Run Code Online (Sandbox Code Playgroud)
问题是Lighttable(0.7.2)控制台告诉:
警告:unsigned-bit-shift-right已经引用:命名空间中的''clojure.core/unsigned-bit-shift-right:cljs.core,被替换为:#'cljs.core/unsigned-bit-shift-right
我找到了一些谷歌条目,但没有一个带我进一步.这是关于什么的?
如何关闭 Light Table 中的自动完成功能?
可能user.behaviors
看起来是这样
[
[:app :lt.objs.style/set-skin "dark"]
;; Automagically closes parentheses
[:app :lt.objs.settings/pair-keymap-diffs]
[:editor :lt.objs.editor/wrap]
[:editor :lt.objs.editor/line-numbers]
[:editor :lt.objs.style/font-settings "Menlo" "9" "1.2"]
[:editor :lt.objs.style/set-theme "monokai"]
[:editor.clojure :lt.objs.langs.clj/print-length 1000]
;; Turn off autocomplete
[:editor :lt.plugins.auto-complete/auto-show-on-input]
]
Run Code Online (Sandbox Code Playgroud)
我尝试添加[:editor :lt.plugins.auto-complete/auto-show-on-input]
但它不起作用。
我定义了一个不带参数的clojure函数.
例
(defn m
[]
...)
Run Code Online (Sandbox Code Playgroud)
如何在灯光表中执行此功能..
(m)
或者(m nil)
或者无论如何.
使用(m)
,(m nil)
我没有得到任何输出
我使用本地库进行一些开发,但防火墙可以防止很多互联网站点.有没有办法手动下载工件?
我的project.clj是:
https://github.com/zubairq/coils/blob/master/project.clj?
Run Code Online (Sandbox Code Playgroud)
从给出的评论中我了解到采取的步骤是:
1) Install Maven
2) Find out which jars are in my project (How can I do this based on my project.clj?)
Run Code Online (Sandbox Code Playgroud)