假设我有一个带有这样签名的函数:
def tsadd(key: Any, time: Double, value: Any)(implicit format: Format): Option[Int]
Run Code Online (Sandbox Code Playgroud)
我想创建一些包含这些函数的列表供以后评估.我该怎么做.我尝试创建一个列表,如:
val pipelineCmds:List[(String,Double,Any)(Format) => Option[Int]] = Nil
Run Code Online (Sandbox Code Playgroud)
并这样做:
pipelineCmds ++ r.tsadd(symbol, timestamp.getMillis.toDouble, value)
Run Code Online (Sandbox Code Playgroud)
但val对隐式参数格式没有很好的反应.它希望看到第一组parens后的一个].
最终目标是做类似的事情
r.pipeline { p =>
pipelineCmds.foreach(c => p.c)
}
Run Code Online (Sandbox Code Playgroud)
任何帮助是极大的赞赏!
我正在尝试为另一个字段的多个值的字段的最大值之和做一个日期历史记录.以下是两个匹配文档的示例:
{
"_index": "logstash-2014.02.06",
"_type": "xyz",
"_id": "HZ_2oaGvQvKWvsOLyYrGrw",
"_score": 1,
"_source": {
"@version": "1",
"@timestamp": "2014-02-05T16:01:01.260-08:00",
"type": "xyz",
"host": "compute-4.lab.solinea.com",
"received_at": "2014-02-05 21:01:01 UTC",
"received_from": "10.10.11.33",
"total_widgets": 24,
}
},
{
"_index": "logstash-2014.02.06",
"_type": "xyz",
"_id": "HZ_2oaGvQvKWvsOLyYrGrx",
"_score": 1,
"_source": {
"@version": "1",
"@timestamp": "2014-02-05T16:01:01.260-08:00",
"type": "xyz",
"host": "compute-3.lab.solinea.com",
"received_at": "2014-02-05 21:01:01 UTC",
"received_from": "10.10.11.32",
"total_widgets": 13,
}
}
Run Code Online (Sandbox Code Playgroud)
在这种情况下,我正在寻找此日期存储区的唯一主机的总和(max(total_widgets)).我正在尝试一个日期组合图,但没有得到我想要的东西.在这个例子中:
{
"query": {
"range": {
"@timestamp": {
"gte": "2014-02-05T00:00:00+00:00",
"lte": "2014-03-05T00:00:00+00:00"
}
}
},
"facets": {
"total_widgets_facet": {
"date_histogram": { …Run Code Online (Sandbox Code Playgroud) 我有以下方法:
def toNumber[T <: AnyVal](value:String, default:T)(implicit n: Numeric[T]):T = {
val str = value.trim
var s = n.zero
if (value.trim.isEmpty) {
default
} else {
if (default.isInstanceOf[Long])
s = n.plus(n.zero,str.toLong.asInstanceOf[T])
else if (default.isInstanceOf[Int])
s = n.plus(n.zero,str.toInt.asInstanceOf[T])
}
s
}
Run Code Online (Sandbox Code Playgroud)
是否有可能以某种方式简化这一点,以便它查看T的类型(例如Int,Long等)并使用它来调用正确的"to"方法(例如toInt,toLong等)?
作为一个额外的问题,我能以某种方式将T限制为Int和Long而不是AnyVal的任何子类吗?
谢谢,约翰
有没有人对akka-camel vs scalaz-camel-akka做过评价?我喜欢scalaz带来的功能方法,并且稍微使用了scalaz-camel-akka,但还没有真正使用过akka-camel.
我会对某些比较点非常感兴趣.
我有以下简单的应用程序:
object TestPatternMatch extends App {
if (args.length != 1)
throw new IllegalArgumentException("takes one argument which is a regex string that will be used to limit the org deletion")
val pattern = args(0).r
println("looking for orgs with name matching regex: " + pattern)
val orgs = Seq("zephyr-test-123", "abcdef", "zephyr-test-xyz-xyz-xyz")
orgs.foreach {
_ match {
case pattern(x) ? println("matched " + x)
case y ? println("failed to match " + y)
}
}
}
Run Code Online (Sandbox Code Playgroud)
当我在下面打电话时,我期待在第一和第三组织上匹配.我错过了什么?
[info] Running TestPatternMatch zephyr-test-.*
looking for …Run Code Online (Sandbox Code Playgroud)