小编joh*_*wie的帖子

向Dropwizard添加其他指标

如何将自定义指标添加到Dropwizard在管理端口上提供的默认内容(8081)?除了添加健康检查之外,我在文档中找不到任何内容.我非常希望合并从MongoDB中检索到的一些统计信息,并且宁愿使用8081上的管理资源,而不是在端口8080上创建自定义指标页面.

java dropwizard

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

为什么用'def'绑定的int数组在Clojure中接受Long值?

我注意到如果我def是一个int数组并在数组中设置一个Long的元素,那么就没有抱怨.但是,如果我在let块中绑定int数组,则设置一个具有Long的元素,则抛出IllegalArgument异常.有人能帮助我理解为什么会这样吗?

下面的代码显示了这种差异.我在Clojure 1.8和1.9的最新beta版本中都尝试过这些结果.

(def a (int-array 10))
(aset a 0 Long/MAX_VALUE) ;; sets first element to -1

(let [b (int-array 10)]
  (aset b 0 Long/MAX_VALUE)) ;; throws java.lang.IllegalArgumentException: Value out of range for int:
Run Code Online (Sandbox Code Playgroud)

arrays interop clojure long-integer

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

如何使用灵活类型变量将monadic函数作为参数传递?

为潜在的模糊问题标题道歉 - 我不确定如何表达它,因为我对问题的解释很差.

基本上,我如何进行以下编译?:-P

{-# LANGUAGE MultiParamTypeClasses #-}

class (Monad m) => MyClass m a where
  valM :: m (Maybe a)
  val  :: m a

f :: (MyClass m a) => (m a -> IO a) -> IO (a, Maybe a)
f g = do
  x <- g val
  yM <- g valM
  return (x, yM)
Run Code Online (Sandbox Code Playgroud)

GHC(V8.2.2)抱怨a是刚性类型的变量,似乎无法应付这个想法(g val)(g valM)可能产生不同类型的值.我尝试过RankNTypes但无济于事.

是否有一个我可以用来帮助编译器的扩展,或者从类型推断的角度来看,我正在尝试做什么概念?

monads haskell typeclass rank-n-types

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