我正在与Active Directory搏斗,试图让它让我更改密码.我发现了大量有用的信息,但我仍然遇到了持续的错误.
一些代码:
import com.unboundid.ldap.sdk._
import com.unboundid.util.ssl._
def main(args: Array[String]) : Unit = {
var sslUtil = new SSLUtil( new TrustAllTrustManager() )
var con = new LDAPConnection(sslUtil.createSSLSocketFactory())
con.connect("ldap.example.net", 636)
con.bind("ldapadmin", "adminpasswd")
val newPass = "Jfi8ZH8#k".getBytes("UTF-16LE");
val modRequest = new ModifyRequest("dn: cn=Tester Dude,ou=Lab,ou=Org,ou=Provider,DC=example,DC=net",
"changetype: modify",
"replace: unicodePwd",
"unicodePwd: " + '"' + newPass + '"')
println("\nGoing to try to set password to " + newPass + " with: " + modRequest.toString())
try {
con.modify(modRequest)
} catch {
case lde:LDAPException => println("failed …Run Code Online (Sandbox Code Playgroud) 给出像这样或那样的签名:
def foo[A, F[_]](implicit mon: Monoid[F[A]], pr: Pure[F]): F[A]
Run Code Online (Sandbox Code Playgroud)
假设A是Char,有没有办法获得一个String而不是一个List[Char]?
String不采用类型参数,所以我认为这是不可能的.什么是下一个最佳选择?现在,我使用mkString结果,但这感觉不是最佳的.
我认为String是一个零 的monoid ""并附加 + ...
我想伊德里斯证明这testMult : mult 3 3 = 9是有人居住的.
不幸的是,这是键入的
mult (fromInteger 3) (fromInteger 3) = fromInteger 9 : Type
Run Code Online (Sandbox Code Playgroud)
我可以像这样解决它:
n3 : Nat; n3 = 3
n9 : Nat; n9 = 9
testMult : mult n3 n3 = n9
testMult = Refl
Run Code Online (Sandbox Code Playgroud)
有没有办法做一些类似的事情mult (3 : Nat) (3 : Nat) = (9 : Nat)?
我试图弄清楚我是否可以通用方式转换List(Vector(1), Vector(2,3))为Vector(List(1), List(2,3))任何两个可遍历的类.
这是我到目前为止:
import collection.generic.CanBuildFrom
import collection.breakOut
import collection.mutable.ListBuffer
def f[A, CC[X] <: Traversable[X], DD[Y] <: Traversable[Y]](outer: DD[CC[A]])
(implicit cbf1: CanBuildFrom[Traversable[_], A, DD[A]],
cbf2: CanBuildFrom[Traversable[_], DD[A], CC[DD[A]]])
: CC[DD[A]] = {
val builder2 = cbf2()
outer.foreach { inner =>
val builder1 = cbf1()
builder1 ++= inner
builder2 += builder1.result
}
builder2.result
}
f(Vector(List(1), List(2,3)))(breakOut, breakOut)
f(ListBuffer(Vector(1), Vector(2,3)))(breakOut, breakOut)
Run Code Online (Sandbox Code Playgroud)
如果我删除breakOuts,它将无法编译:
f(Vector(List(1), List(2,3))) // won't work
Run Code Online (Sandbox Code Playgroud)
找不到参数cbf1的隐含值:scala.collection.generic.CanBuildFrom [Traversable [_],Int,scala.collection.immutable.Vector [Int]]
我可以导入隐含吗?任何其他方法来解决这个问题,不需要breakOuts?
根据retronym的答案编辑:
import scalaz.CanBuildAnySelf
def f[A, CC[X] …Run Code Online (Sandbox Code Playgroud) 我是scala的新手,今天,当我遇到此akka 源代码时,我感到困惑:
def traverse[A, B](in: JIterable[A], fn: JFunc[A, Future[B]],
executor: ExecutionContext): Future[JIterable[B]] = {
implicit val d = executor
scala.collection.JavaConversions.iterableAsScalaIterable(in).foldLeft(
Future(new JLinkedList[B]())) { (fr, a) ?
val fb = fn(a)
for (r ? fr; b ? fb) yield { r add b; r }
}
}
Run Code Online (Sandbox Code Playgroud)
为什么有意使用隐式参数编写代码?为什么不能这样写:
scala.collection.JavaConversions.iterableAsScalaIterable(in).foldLeft(
Future(new JLinkedList[B](),executor))
Run Code Online (Sandbox Code Playgroud)
是否不对新的隐式变量进行标量d?这样做有什么好处吗?目前,我仅发现隐式会增加代码的歧义。
我试图从字符串中提取网址,它们不是标准化的,因此有些是在href标记内,有些是在自己的标记内.
另外我需要按类型对它们进行排序,例如以下字符串:
var txt1: String = "Some text! <a href="http://www.google.com/test.mp3">MP3</a>"
var txt2: String = "Some text! <a href="http://www.google.com/test.jpg">IMG</a>"
var txt3: String = "Some more! <a href="http://www.google.com/">Link!</a>"
Run Code Online (Sandbox Code Playgroud)
所以这些字符串都连接在一起并包含3个网址,我正在寻找以下内容:
var result: List = List(
"mp3" -> List("http://www.google.com/test.mp3"),
"img" -> List("http://www.google.com/test.jpg"),
"url" -> List("http://www.google.com/")
)
Run Code Online (Sandbox Code Playgroud)
我已经研究了正则表达式,但只是在没有定义类型的情况下提取hrefs,而且这也没有在标签之外自己检索url
val hrefRegex = new Regex("""\<a.*?href=\"(http:.*?)\".*?\>.*?\</a>""");
val hrefs:List[String]= hrefRegex.findAllIn(txt1.mkString).toList;
Run Code Online (Sandbox Code Playgroud)
非常感谢任何帮助,在此先感谢:)
这个问题的灵感来自于我试图回答这个问题.
假设您有一系列数据(例如,可能来自CSV文件).groupBy可用于分析数据的某些方面,按列或列组合进行分组.例如:
val groups0: Map[String, Array[String]] =
seq.groupBy(row => row(0) + "-" + row(4))
Run Code Online (Sandbox Code Playgroud)
如果我想在组中创建子组,我可以做
val groups1: Map[String, Map[String, Array[String]]] =
groups0.mapValues(row => row.groupBy(_(1))
Run Code Online (Sandbox Code Playgroud)
如果我想再这样做一次真的很麻烦:
val groups2 =
groups1.mapValues(groups => groups.mapValues(row => row.groupBy(_(2)))
Run Code Online (Sandbox Code Playgroud)
所以这是我的问题,给出了一个任意的嵌套Map[K0, Map[K1, ..., Map[Kn, V]]],你如何编写一个mapValues函数,它采用一个f: (V) => B并应用于最里面的函数V来返回一个Map[K0, Map[K1, ..., Map[Kn, B]]]?
我在哪里可以找到Lang规范或任何博客中的参考如何阅读这些结构:
trait GenericFunctor[->>[_, _ ], ->>>[_, _ ], F[_]] {
def fmap[A, B](f: A ->> B): F[A] ->>> F[B]
}
Run Code Online (Sandbox Code Playgroud)
要么
trait Category[~>[_, _ ]] {
def compose[A, B, C](f: B ~> C)(g: A ~> B): A ~> C
def id[A]: A ~> A
}
Run Code Online (Sandbox Code Playgroud)
如果它是一个类型名称 - 那么代码 F[A] ->>> F[B]不应该是可编译的,但它是
我正在使用d3.js 调整以下和弦示例来显示组之间的关系.有人可以解释和弦在淡出后会如何显现.
我有兴趣将一个处理程序连接到这个以显示信息并让它在mouseout上消失.
有一个鼠标悬停处理程序,它将路径元素添加了一个淡入淡出类,但我没有看到任何删除它的代码.
<path class="chord fade" d=<elided> style="fill: rgb(247, 129, 191);">
<title>Financial District ? Western Addition: 1.1%Western Addition ? Financial District: 1.1%</title>
</path>
Run Code Online (Sandbox Code Playgroud)
尽管如此,当我离开一组时,淡出的和弦重新出现.我的问题是它是如何实现的?
为方便起见,这里有一个jsfiddle:http://jsfiddle.net/huynhjl/hxby165d/7/
我知道这个问题/答案D3.js和弦图 - 悬停在圆弧上时文本出现/消失,但我想知道原始展示是如何做到的.