小编oct*_*bus的帖子

如何将clojure数字串转换为单独的整数?

我可以在repl中读取这样的一些数据.对于一个真正的程序,我计划以let特殊形式分配.

(def x1 (line-seq (BufferedReader. (StringReader. x1))))
Run Code Online (Sandbox Code Playgroud)

如果我输入5 5,则x1被绑定("5 5")

我想将一个元素的列表转换为两个整数的列表.我怎样才能做到这一点?我一直在玩解析空格上的字符串,但是在执行转换为整数时遇到了问题.

clojure

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

尝试从Clojure填充Java类时,"找不到匹配的ctor"

尝试从Clojure填充Java类时,我收到"找不到匹配的ctor"错误.

我想从Clojure填充这个类.

import java.util.Date;

public class Account {
    Account() { acct_num = 0; 
                trans_type = 'U';
                trans_amt = 0.00;
                cur_bal = 0.00;
                last_update = null;
               }

    public int acct_num = 0;
    public char trans_type;
    public double trans_amt = 0.00;
    public double cur_bal = 0.00;
    public Date last_update;
}
Run Code Online (Sandbox Code Playgroud)

我可以导入这个类:

ba2-app=> (ns ba2-app (:import Account))
Account
Run Code Online (Sandbox Code Playgroud)

但是当我去填充它时,我收到这个错误:

ba2-app=> (:use java.util.Date)
nil
ba2-app=> (Account. 1000 \C 100.00 0.00 (java.util.Date. "12/21/2011"))
java.lang.IllegalArgumentException: No matching ctor found for class Account (NO_SOURCE_FILE:9)
Run Code Online (Sandbox Code Playgroud)

我遵循这些建议来使用我的Clojure代码构建Java类.这些建议非常有用,因为我现在可以构建Java类了. …

java clojure

7
推荐指数
1
解决办法
9192
查看次数

确定Clojure Jar路径

这个问题的关键是要清除对Clojure project.clj依赖关系的混淆以及如何指定本地依赖关系.

我在一棵树上有一堆Clojure lein项目

./projects/clojure/bene-csv # A csv parsing library
./projects/clojure/bene-cmp # A main program that depends on bene-csv
Run Code Online (Sandbox Code Playgroud)

我在编辑bene-cmp的project.clj文件.我想依赖./projects/clojure/bene-csv/bene-csv-1.0.0-SN.jar.

我是否使用简单的目录表示法来指定路径或其他内容

谢谢.

编辑:

我可以在bene-csv项目目录中输入lein install,并在bene-cmp项目目录的project.clj文件中使用这些project.clj条目,在项目中包含bene-csv:

(defproject bene-cmp "1.0.0-SN"
  :description "This is the main benetrak/GIC comparison program."
  :dependencies [[org.clojure/clojure "1.3.0"]
                 [clojure-csv/clojure-csv "1.3.2"]
                 [bene-csv "1.0.0-SN"]])
Run Code Online (Sandbox Code Playgroud)

但是,我仍在试图弄清楚路径是什么,并且会欣赏任何指针或帮助.谢谢.

clojure leiningen

7
推荐指数
1
解决办法
2281
查看次数

如何将整个网页读入变量

我正在尝试阅读整个网页并将其分配给变量,但我很难做到这一点.该变量似乎只能保存页面源的前512行左右.

我尝试使用readlines()将源的所有行打印到屏幕上,这给了我完整的源代码,但我需要能够用正则表达式解析它,所以我需要以某种方式将它存储在变量中.救命?

 data = urllib2.urlopen(url)
 print data
Run Code Online (Sandbox Code Playgroud)

只给了我1/3的来源.

 data = urllib2.urlopen(url)
 for lines in data.readlines()
      print lines
Run Code Online (Sandbox Code Playgroud)

这给了我整个来源.

就像我说的,我需要能够用正则表达式解析字符串,但我需要的部分不是在我能够存储在变量中的前1/3中.

python urllib2 web-scraping

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

Clojure的1.4读者文字有什么优势,为什么不编译?

我有两个问题.首先,我需要做些什么来获得以下代码进行编译,以及Clojure 1.4读者文字是什么让我无法从宏中获取?

我理解我用本地data_readers.clj文件覆盖了阅读器,但是在哪里可以比我在Clojure 1.4发行说明中更详细地阅读这些阅读器文字呢?

这是编译错误的代码.

java.lang.RuntimeException: No reader function for tag ?=, 
Run Code Online (Sandbox Code Playgroud)

project.clj

(defproject repl-test "0.0.1-SNAPSHOT"
  :description "TODO: add summary of your project"
  :dependencies [[org.clojure/clojure "1.4.0"]
                 [org.clojure/clojure-contrib "1.2.0"]
                 [clojure-csv/clojure-csv "1.3.2"]
                 [org.clojure/tools.cli "0.1.0"]
                 [util "1.0.2-SNAPSHOT"]
                 [clj-http "0.1.3"]]
   :aot [repl-test.core]
   :main repl-test.core)
Run Code Online (Sandbox Code Playgroud)

data_readers.clj(位于我的lein项目repl-test的顶部)

{
 ?= repl-test.core/debug-print
 str repl-test.core/expand-sexp
}
Run Code Online (Sandbox Code Playgroud)

data_readers.clj应该去别的地方吗?如果是的话,在哪里?

core.clj的相关部分

(ns repl-test.core
  (:gen-class)
  (:require [clojure.string :as str])
  (:require [util.core :as utl])
  (:use clojure-csv.core))

(defn debug-print
  "Gauche debug print"
  [x]
  `(let [res# ~x]
     (println "?=" res#)
     res#))

(defn expand-sexp
  "Expand S-exp in …
Run Code Online (Sandbox Code Playgroud)

clojure

7
推荐指数
1
解决办法
1827
查看次数

如何从两个进程同步 - 在一个文件上进行原子写入?

我有两个进程,每个进程写大数据缓冲区,我想控制同步这些进程的写入到一个文件.

处理1写入缓冲器A包括(A1,A2,A3)和处理2写入缓冲器B,包括(B1,B2,B3).当我们使用write()系统调用将这些缓冲区写入磁盘到同一个文件(整个缓冲区一次:)时write(fd, A, sizeof(A)),文件架构如何?

  • 它是这样的:A,B或B,A可能吗?
  • 或者它可能是这样的:A1,A2,B1,A3,......

我问这个是因为系统调用是原子的.如果我们写的数据缓冲区太大会发生什么.它是否像常规磁盘文件的管道?

c atomic

6
推荐指数
1
解决办法
1202
查看次数

为什么我得到"没有命名空间:在project.clj中列出的编译." 警告?

我在Ubuntu 1.04上使用lein 1.6.2,并创建了一个裸项目.我无法弄清楚为什么我得到了

"没有命名空间:在project.clj中列出的编译."

当我进入lien编译时出错.

project.clj

(defproject amr_db "1.0.0-SNAPSHOT"
  :description "FIXME: write description"
  :dependencies [[org.clojure/clojure "1.3.0"]
                [korma "0.2.1"]])
Run Code Online (Sandbox Code Playgroud)

core.clj(到目前为止)

(ns amr_db.core
  (:gen-class))
Run Code Online (Sandbox Code Playgroud)

如何清除警告?

clojure

6
推荐指数
1
解决办法
1321
查看次数

如何在运行时修改函数然后传播到多个线程?

使用Clojure(和其他Lisp方言),您可以修改运行代码.那么,在运行时修改函数时,该更改是否可用于多个线程?

我试图找出它在并发设置中如何工作:如果有几个线程正在使用函数foo,当我重新定义(比如使用defn)函数foo时会发生什么?

必须进行一些同步:何时以及如何进行这种同步以及它的成本是多少?

在JVM上说,是使用volatile引用引用的函数吗?如果是这样,是否意味着每次都有"功能查找",那么必须支付volatile费用?

concurrency function clojure

6
推荐指数
1
解决办法
96
查看次数

其他Clojure项目源文件

当lein设置项目时,将创建core.clj文件以及其他目录和文件。我想知道是否可以将core.clj的内容拆分到另一个源文件下

../myproj/src/myproj/

如果是这样,如何从core.clj访问该数据。

clojure leiningen

6
推荐指数
1
解决办法
1932
查看次数

按顺序排列Clojure子序列

Clojure是否提供了任何内置方法来查找给定序列中子序列的位置?

sequences clojure

6
推荐指数
1
解决办法
1125
查看次数