小编Lei*_*and的帖子

常见的做法如何处理Integer溢出?

应用程序开发团队的角度来看,处理整数溢出(如999999*999999(结果> Integer.MAX_VALUE))的常见做法是什么?

人们可以BigInt强制要求并禁止使用Integer,但这是一个好/坏的想法?

scala integer-overflow biginteger

9
推荐指数
3
解决办法
3457
查看次数

如何创建单独的sbt配置或任务以使用WartRemover进行编译?

WartRemover是一个scalac插件.通常它是通过sbt插件配置的.

我希望能够在我的sbt项目上运行WartRemover作为单独的配置或任务,而不会影响通常的运行compile.

将Wartremover添加到我之后,我plugins.sbt尝试了以下几种变体.

lazy val Lint = config("lint").extend(Compile)

project("foo").
  configs(Lint)
  settings(inConfig(Lint)(Defaults.compileSettings): _*).
  settings(inConfig(Linting)(wartremover.wartremoverSettings):_*).
  settings(inConfig(Linting)(wartremover.wartremoverErrors := wartremover.Warts.all))
Run Code Online (Sandbox Code Playgroud)

后来scalacOptions大致包含了我在新lint配置和配置中的预期compile.但是,当我在调试模式下运行lint:compilecompile使用sbt时,我可以看到scalac的命令行参数,要么两个命令都导致-P:wartremover:...交换开关.这是令人惊讶的,因为只lint:scalacOptions显示了-P:wartremover:...开关.

如何创建单独的sbt配置或任务以使用WartRemover进行编译而不会影响compile:compile

scala sbt scalac

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

scala:为什么1/0是算术异常,但1.0/0.0 = Double.Infinity

看起来不一致的是,在Scala中,整数运算div除零抛出a java.lang.ArithmeticException: / by zero,但浮点运算(1.0/0.0)返回Double.Infinity.

我理解从类型的角度来看,同时拥有Double.Infinity和Integer.Infinity可能很棘手,但我认为使用scala强大的类型系统他们可以想出一些其他方法来解决问题的这个方面.

还有其他我想念的东西可以更好地解释这两种不同的行为吗?

java scala

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

MySQL全文索引

我正在尝试在现有的数据库表(具有类似的50k记录)中设置一个FULLTEXT索引,使用下面的命令,该命令有效:

ALTER TABLE  `record_attributes` ADD FULLTEXT  `FULLTEXT` (`content_text` ,`content_varchar`)
Run Code Online (Sandbox Code Playgroud)

问题是,当我尝试在该表上执行MATCH AGAINST时,它给了我这个错误:

#1191 - Can't find FULLTEXT index matching the column list
Run Code Online (Sandbox Code Playgroud)

我一直在谷歌搜索,没有找到任何我可能做错的事情.是否必须在没有任何记录的表上添加索引?

干杯

mysql

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

在Scala IDE中重命名.scala文件不会重命名该类

当我通过Eclipse重命名.scala文件时,类名本身不会被重命名.

这是预期的行为吗?它似乎没有破坏任何东西.

我希望它可以重命名,来自Java背景,文件名/类名必须相等.

eclipse scala scala-ide

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

MatchError在匹配时收到IndexedSeq而不是LinearSeq

是否有理由match反对SeqIndexedSeq类型上使用不同于对类型的处理方式LinearSeq?对我来说,无论输入类型如何,下面的代码似乎应该完全相同.当然它不会或我不会问.

import collection.immutable.LinearSeq
object vectorMatch {
  def main(args: Array[String]) {
    doIt(Seq(1,2,3,4,7), Seq(1,4,6,9))
    doIt(List(1,2,3,4,7), List(1,4,6,9))
    doIt(LinearSeq(1,2,3,4,7), LinearSeq(1,4,6,9))
    doIt(IndexedSeq(1,2,3,4,7), IndexedSeq(1,4,6,9))
    doIt(Vector(1,2,3,4,7), Vector(1,4,6,9))
  }

  def doIt(a: Seq[Long], b: Seq[Long]) {
    try {
      println("OK! " + m(a, b))
    }
    catch {
      case ex: Exception => println("m(%s, %s) failed with %s".format(a, b, ex))
    }
  }

  @annotation.tailrec
  def m(a: Seq[Long], b: Seq[Long]): Seq[Long] = {
    a match {
      case Nil => b
      case firstA :: moreA => b …
Run Code Online (Sandbox Code Playgroud)

scala match

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

标签 统计

scala ×5

biginteger ×1

eclipse ×1

integer-overflow ×1

java ×1

match ×1

mysql ×1

sbt ×1

scala-ide ×1

scalac ×1