小编apo*_*nur的帖子

如何重命名使用(ns(:require:refer))

我的理解是现在建议使用 require :refer而不是usens宏中使用.例如,执行:

(ns example.core 
  (:require [clj-json.core :refer [parse-string]]))
Run Code Online (Sandbox Code Playgroud)

代替

(ns example.core 
  (:use [clj-json.core :only [parse-string]]))
Run Code Online (Sandbox Code Playgroud)

处理:rename哪些use支持的推荐方法是什么?具体来说,假设我想require clojure.data.zip和重命名ancestors以及descendants功能与clojure.core冲突.

换句话说,我想知道require等效的

(:use 
  [clojure.data.zip :rename {ancestors xml-ancestors, 
                             descendants xml-descendants})
Run Code Online (Sandbox Code Playgroud)

variables import namespaces clojure

13
推荐指数
3
解决办法
2894
查看次数

Java Async Http客户端比较

我正在为我的应用程序评估HTTP客户端库.这是一个Web应用程序,它调用各种Web服务,聚合内容,然后将其发送到Ajax客户端.我想我需要一个异步客户端,因为我想在我等待Web服务的长响应时释放我的应用服务器(Tomcat)线程,这样Tomcat可以重复使用这个线程来做其他事情,而我正在做IO来定位Web服务.

我找到了3个图书馆

  1. Apache HttpClient 4.x
  2. Jetty Http客户端
  3. Sonotype Http Client(前宁)

想知道这个库如何比较.

我可以看到Sonotype客户端可以使用可插入的提供程序进行http处理,包括Apache Http Client 3.x. 如果我直接使用Apache Http 4.x客户端而不是通过Sonotype客户端,我不会看到我失去了什么.

java apache-httpclient-4.x

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

将RxJS Observable收集到数组中

我想使用RxJS与同步世界"桥接"事件的异步世界.具体来说,我想创建一个函数,该函数返回在某个时间间隔内收集的事件数组.

我可以创建Observable来做我想要的

var source = Rx.Observable
.interval(100 /* ms */)
.bufferWithTime(1000).take(1)
Run Code Online (Sandbox Code Playgroud)

我可以打印正确的值

var subscription = source.subscribe(
    function (x) {
        console.log('Next: ' + JSON.stringify(x));
    },
    function () {
        console.log('Completed');   
    });
Run Code Online (Sandbox Code Playgroud)

这打印

[0,1,2,3,4,5,6,7,8] 
Completed 
Run Code Online (Sandbox Code Playgroud)

但我想要的是将此数组赋值给变量.从概念上讲,我想要的东西

var collectedDuringSecond = source.toPromise.getValue()

这个想法是getValue会阻塞所以在上面的行完成之后collectDuringSecond将包含[0,1,2,3,4,5,6,7,8]

reactive-extensions-js rxjs

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

Groovy正则表达式.匹配线的开头

我很少被Groovy正则表达式行为所迷惑.

"dog" == /dog/ - return true

"dog" == /^dog/ - return false
Run Code Online (Sandbox Code Playgroud)

我理解^匹配行的开头,所以第二个表达式也应该返回true.

我实际上要做的是在行的开头使用替换"#"

line = line.replace(/^#/, '')
Run Code Online (Sandbox Code Playgroud)

但"#"不会被删除

regex groovy

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