小编oct*_*bus的帖子

用于Clojure的简单GUI工具包

这个问题的长期和短期是哪些GUI工具包创建了非常简单的UI并且易于使用Clojure?以下是进一步细节以缩小我的问题范围.

我想创建非常简单的GUI应用程序,这些应用程序将在Windows上运行,而无需投入巨大的GUI设计工作.

例如,我们的人事部门从我们的供应商那里获得了许多订户的保险单,并希望根据当地保险申请认为订户的情况来审计该信息.

我想在Clojure中编写这些应用程序,并利用简单的GUI包.

哪个是最简单的工具,可以与Clojure一起使用来创建原始UI?通过原始UI我的意思是像旧的Windows 3.1(16位)模式对话框.

java user-interface clojure

10
推荐指数
1
解决办法
2205
查看次数

在clojure中,为什么包含url的块注释会抛出异常?

为什么以下不起作用?这就是它抛出异常的原因?:

(comment 

Replicate a Sequence
http://www.4clojure.com/problem/33

        (= (__ [1 2 3] 2) '(1 1 2 2 3 3))

)
Run Code Online (Sandbox Code Playgroud)

用另一个字符串替换url,似乎没问题.

(comment 

Replicate a Sequence
replace the url and all is well. why 

        (= (__ [1 2 3] 2) '(1 1 2 2 3 3))

)
Run Code Online (Sandbox Code Playgroud)

functional-programming clojure

10
推荐指数
1
解决办法
221
查看次数

如何构造向量以用作函数参数

在Python中,您可以将列表或元组传递给函数,并让函数解包参数.我怎么能在Clojure中做到这一点?这是一些示例Python代码:

def f (a, b, c, *d):
    print "a: ", a
    print "b: ", b
    print "c: ", c
    print "d: ", d

f (1, 2, 3, 4, 5, 6)

print
v = (4, 5, 6)
f(1, 2, 3, *v)
Run Code Online (Sandbox Code Playgroud)

结果:

a:  1
b:  2
c:  3
d:  (4, 5, 6)

a:  1
b:  2
c:  3
d:  (4, 5, 6)
Run Code Online (Sandbox Code Playgroud)

在我的clojure代码中:

(defn f [a b c & d]
  (println "a: " a)
  (println "b: " b)
  (println "c: " …
Run Code Online (Sandbox Code Playgroud)

clojure

9
推荐指数
2
解决办法
5174
查看次数

如何在另一个命名空间中设置动态var

我试图在不同的命名空间中定义动态var.Lobos文档指出:

默认情况下,所有迁移都保存在lobos.migrations命名空间中.它将通过迁移命令自动加载,因此无需自行加载.因此,要使用另一个名称空间,您必须更改lobos.migration/migrations-namespace动态变量.

我无法弄清楚如何在我的新命名空间中设置动态变量.

我可以在repl via(ns`lopos.migration)中执行此操作,但是从我自己的ns运行此cmd

(def ^:dynamic lobos.migration/*migrations-namespace* 'gb.install.migrations)
Run Code Online (Sandbox Code Playgroud)

收益率Can't create defs outside of current ns.

我怎样才能解决这个问题?

clojure

9
推荐指数
1
解决办法
3926
查看次数

为什么向上和向下箭头命令在Python命令行解释器中不起作用?

我在Linux上使用VT100终端仿真器.在bash中,向上和向下箭头滚动执行最后的命令; 他们按预期工作.

在Python命令行解释器中不解释上一个(向上箭头)和下一个(向下箭头)命令.我需要什么样的键映射来完成这项工作?

谢谢.

python linux cpython

9
推荐指数
2
解决办法
5117
查看次数

如何加速lein Uberjar Build

我有一个Clojure"主"应用程序依赖于几个Clojure库,其中两个是我的.编译阶段,无论是编译还是运行uberjar都需要很长时间.它大约至少一分钟或更长时间.我的图书馆和主图都不是很大.

我的库和主project.clj文件包含

  :aot [bene-cmp.core]
  :omit-source true
Run Code Online (Sandbox Code Playgroud)

指令.

如果有的话,我可以做些什么来加快构建过程?

这是三个project.clj文件.project.clj主要

;$Log$
;
(defproject bene-cmp "1.0.0-SNAPSHOT"
  :description "This is the main benetrak/GIC comparison program."
  :dependencies [[org.clojure/clojure "1.3.0"]
                 [org.clojure/tools.cli "0.1.0"]
                 [clojure-csv/clojure-csv "1.2.4"]
                 [seesaw "1.4.0"]
                 [bene-csv "1.0.0-SNAPSHOT"]
                 [util "1.0.0-SNAPSHOT"]]
  :aot [bene-cmp.core]
  :omit-source true
  :main bene-cmp.core)
Run Code Online (Sandbox Code Playgroud)

project.clj库1

(defproject util "1.0.0-SNAPSHOT"
    ;$Log: project.clj,v $
    ;Revision 1.3  2012/04/04 18:24:36  cvsuser
    ;Take II on comments. (comment ) does not work.
    ;
    ;Revision 1.2  2012/04/04 18:20:54  cvsuser
    ;New library for Clojure. Add CVS comments.

  :description "A general purposes Clojure …
Run Code Online (Sandbox Code Playgroud)

clojure leiningen

8
推荐指数
1
解决办法
801
查看次数

double*(*p [3])(void*(*)()); 意思?

我无法理解以下声明的含义.这个声明标准吗?

double* (*p[3]) (void* (*)());
Run Code Online (Sandbox Code Playgroud)

任何人都可以帮我理解这个声明的含义吗?

c pointers

8
推荐指数
2
解决办法
1071
查看次数

如何确定文件是否为空?

如何确定文件是否为空?该文件由在Windows平台上运行的C程序打开.我想以追加模式打开文件,如果为空,首先打印一个标题.

// Open CSV & write header
report_csv = fopen("SNR.csv", "a+");
if (!report_csv) {
    fprintf(stderr, "Unable to open CSV output file...");
    return -1;
}
if (!ftell(report_csv)) {
    fprintf(report_csv, "Column A;Column B;Column C\n");
}
// ... print data to file
fclose(report_csv);
Run Code Online (Sandbox Code Playgroud)

ftell如果文件不为空,我希望返回当前文件大小,这是因为上面的代码是循环的.

但是,ftell始终返回0并且标题被多次打印.

我知道我可以fopen将其与r和使用fseek/ ftell/ fclose,然后fopen再次用a+,但我认为这是可能做到这一点而无需打开和多次关闭文件.

c file-io

8
推荐指数
1
解决办法
1万
查看次数

如何在满足条件时停止迭代序列

除了loop .. recur之外,使用什么是最好的Clojure构造,以便在遍历序列序列(sos)时,如果找到结果,处理可以停止?

以下是详细信息:

我有一个懒惰的序列从clojure-csv,一个sos返回.

在sos中的每个序列中的给定位置(索引)处存在值.

我一直在每个序列中查看该位置,直到找到该值或达到sos的结尾.

如果找到该值,我想停止处理sos.

我唯一能想到的是使用for with和when来保留匹配,但序列处理不会停止,或者使用过滤器.

但是,我相信我可以使用更好的东西,但我会被困在那将是什么.

谢谢.

clojure

8
推荐指数
2
解决办法
2297
查看次数

为什么这个F#函数需要括号?

为什么read_rest_of_csv下面需要括号?

    let read_rest_of_csv() =
        csv_data.Add(csv_fileH.ReadFields()) |> ignore
        not csv_fileH.EndOfData

    while read_rest_of_csv() do ignore None
Run Code Online (Sandbox Code Playgroud)

如果没有括号,循环将不会终止.

open System
open System.Threading
open System.Collections.Generic
open System.Linq
open System.Text
open System.Threading.Tasks
open System.IO
open Microsoft.VisualBasic.FileIO

[<EntryPoint>]
let main argv =
    let csv_fileH = new TextFieldParser("test1.csv")
    csv_fileH.TextFieldType = FieldType.Delimited |> ignore
    let x = csv_fileH.SetDelimiters(",")
    let csv_data = new List<string[]>()

    let eod = csv_fileH.EndOfData
    if not eod then
        let column_headings = csv_fileH.ReadFields()
        csv_data.Add(column_headings) |> ignore

        let read_rest_of_csv =
            csv_data.Add(csv_fileH.ReadFields()) |> ignore
            not csv_fileH.EndOfData …
Run Code Online (Sandbox Code Playgroud)

f# functional-programming let

8
推荐指数
2
解决办法
1167
查看次数