小编Mic*_*ael的帖子

Scala中两个字符串的差异

假设我正在编写diff(s1: String, s2: String): List[String]以检查是否s1== s2并返回错误列表:

  • s1[i] != s2[i] 错误是 s1[i] != s2[i]
  • s1[i]如果i >= s2.length错误是s1[i] is undefined
  • s2[i]如果i >= s1.length错误是s2[i] is missing

例如:

diff("a", "a")     // returns Nil
diff("abc", "abc") // Nil
diff("xyz", "abc") // List("x != a", "y != b", "z != c")
diff("abcd", "ab") // List("c is undefined", "d is undefined")
diff("ab", "abcd") // List("c is missing", "d is missing")
diff("", "ab")     // List("a …
Run Code Online (Sandbox Code Playgroud)

string collections diff scala

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

为什么个数的补码表示比其他的更好?

似乎有符号数字的补码表示现在是最流行的(并且可能是现代硬件中使用的唯一表示)。为什么它比其他人更好?

math binary ones-complement

0
推荐指数
1
解决办法
335
查看次数

JDK中的Rhino有用吗?

Rhino是一个JavaScript在JVM之上运行的解释器.我想这对于服务器端编程很有用JavaScript.现在我们有Node.js.所以我想知道它Rhino是否仍然具有相关性以及它是否有用.

javascript java rhino

0
推荐指数
1
解决办法
374
查看次数

在Scala中重新排序序列

假设我有一个Seq[Int].现在我想重新排序序列,将序列元素<= 0放在第一位,将元素> 0放在它们之后.如何简单有效地做到Scala

sorting scala sequence

0
推荐指数
1
解决办法
490
查看次数

这种一元法律的意义何在?

我正在读一篇关于"monadic law" 的文章.该文提到的第一部法律是:

m map f ? m flatMap {x => unit(f(x))}

对于Scala,Option它意味着:

option map f ? option flatMap {x => Option(f(x))}

现在我想知道法律观点是什么.为什么法律很重要?如果斯卡拉Option不遵守这项法律怎么办?

monads functional-programming scala

0
推荐指数
1
解决办法
587
查看次数

如何在Scala中以惯用方式进行转义

假设我正在编写一个简单的函数来转义XML字符串.

val map = Map('&' -> "&amp;", '<' -> "&lt;", '>' -> "&gt;") // ... and more
def escape(str: String): String = {
  val w = new java.io.StringWriter()
  for(c <- str) if (map.contains(c)) w.write(map(c)) else w.write(c); 
  w.toString
}
Run Code Online (Sandbox Code Playgroud)

它在Scala中看起来不是惯用的,而且,我不知道如何处理map它,它将字符映射到转义字符串.你会怎么建议我解决它?

scala

0
推荐指数
2
解决办法
743
查看次数

如何在Scala中以惯用方式重写此代码?

假设我有一个f: Int => String可能抛出异常的函数.我想写一个函数tryF(f: Int => String, arg: Int, defaultOpt: Option[String]),其工作原理如下:

  • f(arg)如果没有抛出异常,则调用并返回结果
  • 如果调用因异常而失败defaultOpt.isDefined然后返回defaultOpt.get
  • 否则抛出异常

我写的如下:

def tryF(f: Int => String, arg: Int, defaultOpt: Option[String]) = {
  val r = scala.util.Try(f(arg))
  r.toOption orElse defaultOpt getOrElse r.get
}
Run Code Online (Sandbox Code Playgroud)

是否有意义 ?你会改写它吗?

scala exception-handling optional

0
推荐指数
1
解决办法
161
查看次数

测试是否在没有模拟的情况下调用函数

假设我有一个功能def bar(y: Int, f: Int => Int): Int.现在我想测试bar使用specs2并确保f被调用.

如何在没有可变变量的情况下在功能上做到这一点.我可以不用嘲笑吗?

unit-testing scala mocking specs2

0
推荐指数
1
解决办法
62
查看次数