小编Kan*_*ane的帖子

每次从序列中获取两个元素

clojure是否像普通的lisp一样具有强大的"循环".

例如:

每次从序列中获取两个元素

Common Lisp:

(loop for (a b) on '(1 2 3 4) by #'cddr collect (cons a b))
Run Code Online (Sandbox Code Playgroud)

如何在Clojure中做到这一点?

clojure

11
推荐指数
1
解决办法
2957
查看次数

对于解析classname感到困惑

两个文件

types.clj:

(ns test.types)

(defrecord Price [date price])
(defrecord ProductPrice [name prices])
Run Code Online (Sandbox Code Playgroud)

core.clj(没关系)

(ns test.core
  (:use [test.types])
  (:use [clojure.string :only (split)]))


(defn read-data [file]
  (let [name (subs (.getName file) 0 4)]
    (with-open [rdr (clojure.java.io/reader file)]
      (doall (map #(apply ->Price (split % #"\t")) (drop 2 (line-seq rdr)))))))
Run Code Online (Sandbox Code Playgroud)

core.clj(java.lang.IllegalArgumentException:无法解析类名:ProductPrice)

(ns test.core
  (:use [test.types])
  (:use [clojure.string :only (split)]))


(defn read-data [file]
  (let [name (subs (.getName file) 0 4)]
    (with-open [rdr (clojure.java.io/reader file)]
      (ProductPrice. name (doall (map #(apply ->Price (split % #"\t")) (drop 2 …
Run Code Online (Sandbox Code Playgroud)

clojure

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

如何构建一个在iOS上具有最大兼容性的静态库?

我正在为ios开发人员编写一个静态库.

如何构建一个在iOS上具有最大兼容性的静态库?换句话说,将来支持不同类型的项目.例如,3.0~版本,ARC /非ARC项目,xib/storyboard,模拟器/ iphone/ipad.

我应该考虑哪些最重要的事情?

  1. 设置部署目标以检查兼容性?
  2. 使用'lipo'合并拖车平台lib?
  3. 不要在我的代码中使用ARC?

有什么建议吗?谢谢!

xcode objective-c ios

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

System.exit(0)执行时会发生什么?

我有两个不同的活动.第一个发射第二个.

Intent intent = new Intent(this, Activity2.class);
startActivity(intent);
Run Code Online (Sandbox Code Playgroud)

在第二个活动中,我调用System.exit(0).我认为第一个活动是由"页面堆栈"引起的.但我发现发生了两件事.

  1. 正在进行的变体失去了价值.(我认为进度重新开始)
  2. 在第一个活动中创建的文件,在第二个活动中附加的数据并保存,丢失!(从沙箱中删除).我创建的文件applicationContext.openFileOutput(fileName, Context.MODE_PRIVATE);

在那种情况下沙箱是否被清理干净?通过'返回键'或甚至android.os.Process.killProcess(android.os.Process.myPid())是沙盒中的文件保持正常退出.那么,System.exit(0)执行时实际发生了什么?

谢谢!

android kill-process

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

如何操纵记录?

如何操纵记录?

我在哪里可以找到一些例子?

我想对记录做一个序列.例如:

(defrecord Point [x y])
Run Code Online (Sandbox Code Playgroud)

如何从'[[1 2] [3 4] [5 6]]'制作一系列分数?

如果数据存储在文件中:

1 2
3 4
5 6
Run Code Online (Sandbox Code Playgroud)

如何将这些读入记录?

(with-open [rdr (clojure.java.io/reader file)]
  (doall (? (line-seq rdr))))))
Run Code Online (Sandbox Code Playgroud)

谢谢!

clojure

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

如何在common-lisp中每次从列表中获取两个元素?

对于((1 2) (3 4) (5 6)),您可以使用loop for (a b) in '((1 2) (3 4) (5 6))每次获得a = 1,b = 2.

但是'(1 2 3 4),我试着loop for x on '(1 2 3 4) by #'cddr for a = (car x) for b = (cadr x)得到a = 1,b = 2.

有没有更好的方法来做这样的事情?

lisp common-lisp

3
推荐指数
1
解决办法
600
查看次数

任何pythonic方式做"[['a',2],['b',1]] + [['b',2],['c',1]] = [['b',3] ,['a',2],['c',1]]"?

输入:

[['a', 2], ['b',1]] (sorted by value)
[['b', 2], ['c', 1]]
Run Code Online (Sandbox Code Playgroud)

输出:

[['b', 3], ['a', 2], ['c', 1]]
Run Code Online (Sandbox Code Playgroud)

任何pythonic方式?当然,在Python中!(最好是2.6倍)谢谢!

python lambda functional-programming

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