它有一个日志文件,用于存储带有时间戳和json消息的事件.例如:
时间戳{"foo":12,"bar":13}
我想将json部分中的键(foo和bar)分解为Logstash输出中的字段.
我知道我可以将Logstash文件过滤器中的格式字段设置为json_event,但在这种情况下,我必须在json中包含时间戳.还有一个json过滤器,但它添加了一个具有完整json数据结构的字段,而不是使用键.
有什么想法可以做到这一点?
我们正在考虑编写静态分析器来收集Clojure代码的软件度量.当然它会处理明显的东西,比如文件数量,函数,每个函数的参数等等.我想知道是否有任何特定于Clojure代码的指标.有任何想法吗?
我想使用ClojureScript编写Google Chrome扩展程序.使用ClojureScript,我可以使用所有Google Closure库,但这些库中不包含对Chrome浏览器的访问权限.所以我想在我自己的JavaScript库中包装所有Chrome内容.
到目前为止,我尝试创建自己的jar,它有一个JavaScript文件,只创建一个Foo对象并导出构造函数.我把这个jar添加到ClojureScript编译器的lib目录中(也有goog.jar),但到目前为止没有运气:
Exception in thread "main" java.lang.IllegalArgumentException: No implementation of method: :-compile of protocol: #'cljs.closure/Compilable found for class: nil
at clojure.core$_cache_protocol_fn.invoke(core_deftype.clj:494)
at cljs.closure$eval1056$fn__1057$G__1047__1064.invoke(closure.clj:187)
at cljs.closure$get_compiled_cljs.invoke(closure.clj:422)
at cljs.closure$cljs_dependencies.invoke(closure.clj:440)
at cljs.closure$add_dependencies.doInvoke(closure.clj:462)
at clojure.lang.RestFn.applyTo(RestFn.java:139)
at clojure.core$apply.invoke(core.clj:602)
at cljs.closure$build.invoke(closure.clj:701)
at user$eval1246.invoke(cljsc.clj:21)
at clojure.lang.Compiler.eval(Compiler.java:6406)
at clojure.lang.Compiler.load(Compiler.java:6843)
at clojure.lang.Compiler.loadFile(Compiler.java:6804)
at clojure.main$load_script.invoke(main.clj:282)
at clojure.main$script_opt.invoke(main.clj:342)
at clojure.main$main.doInvoke(main.clj:426)
at clojure.lang.RestFn.invoke(RestFn.java:421)
at clojure.lang.Var.invoke(Var.java:405)
at clojure.lang.AFn.applyToHelper(AFn.java:163)
at clojure.lang.Var.applyTo(Var.java:518)
at clojure.main.main(main.java:37)
Run Code Online (Sandbox Code Playgroud)
有人曾尝试过这个吗?
是否有文档化的方法来查找Clojure对象实现的协议?另一种方式(显示给定协议扩展的类)很简单:(扩展程序协议).
我正在使用Fitnesse SliM,我想检查一个灯具的结果是否为空字符串.将结果字段留在Fitnesse中只会导致忽略测试,这显然不是我想要的.我可以通过扩展夹具代码来解决这个问题,但我想知道这是否可以在Fitnesse本身内处理.
以某种模糊的方式,一个不添加新功能的派生类(尚未)与它的基类行为不同.派生类:
public class MyCheckButton : CheckButton
{
public MyCheckButton(string label) : base(label)
{
}
}
Run Code Online (Sandbox Code Playgroud)
MyCheckButton继承自(GTK#,Mono项目的一部分)CheckButton.但是,在以下代码段中,它们的行为有所不同:
var button1 = new CheckButton("_foo");
var button2 = new MyCheckButton("_foo");
// code omitted
Run Code Online (Sandbox Code Playgroud)
标签中的下划线确保标签获得助记符.对于button1,这适用于我的测试代码:我得到"foo",其中f加下划线.但是对于button2,这会失败.我只是在对话框中将"_foo"作为标签.
任何人都可以解释这个示例中的派生类如何表现不同,或者屏幕后面是否有一些魔法可能会检查实际类的类型?
我想根据谓词拆分一个字符串.举个例子:
"ImageSizeTest"应该成为"图像大小测试"
注意:Uppercased字符是谓词
当然,我可以编写一个简单的循环,遍历字符串,检查大写字符(谓词)并构建新字符串.但是我希望这更加通用,基于任何谓词进行拆分.仍然不是很难实现,但我想知道是否有一种优雅的方式来使用它Linq.
参考:
当我用它调用它时,下面的Clojure代码会产生java.lang.StackOverflowError(avg-bids 4000 10 5).我试图弄清楚为什么,因为sum-bid被写为尾递归函数,所以应该工作.使用Clojure 1.2.
谁知道为什么会这样?
(ns fixedprice.core
(:use (incanter core stats charts)))
(def *bid-mean* 100)
(defn bid [x std-dev]
(sample-normal x :mean *bid-mean* :sd std-dev))
(defn sum-bids [n offers std-dev]
(loop [n n sum (repeat offers 0)]
(if (zero? n)
sum
(recur (dec n) (map + sum (reductions min (bid offers std-dev)))))))
(defn avg-bids [n offers std-dev]
(map #(/ % n) (sum-bids n offers std-dev)))
Run Code Online (Sandbox Code Playgroud) clojure ×4
c# ×2
fitnesse ×1
gtk# ×1
inheritance ×1
javascript ×1
linq ×1
logstash ×1
metrics ×1
mono ×1