小编End*_*Neu的帖子

-Ywarn-unused-import触发播放路由文件

我希望能够使用-Xfatal-warnings-Ywarn-unused-import,问题是,编译器是在其中包含了我的应用程序播放路由文件触发的错误:

[error] /path/to/app/conf/routes: Unused import
[error] /path/to/app/conf/routes: Unused import
[error] /path/to/app/conf/routes:1: Unused import
[error] GET        /document/:id        my.app.controllers.MyController.getById(id: Int)
Run Code Online (Sandbox Code Playgroud)

其他路线也一样.

有可能告诉scalac忽略文件吗?

Scala版本是2.11.8.

scala sbt scalac playframework

50
推荐指数
3
解决办法
1662
查看次数

构造一系列与时间相关的名称

我们的代码中包含以下序列:

val halfHourlyColumnNames = Seq("t0000", "t0030", "t0100", "t0130", "t0200", "t0230", "t0300", "t0330", "t0400", "t0430", "t0500", "t0530", "t0600", "t0630", "t0700", "t0730", "t0800", "t0830", "t0900", "t0930", "t1000", "t1030", "t1100", "t1130", "t1200", "t1230", "t1300", "t1330", "t1400", "t1430", "t1500", "t1530", "t1600", "t1630", "t1700", "t1730", "t1800", "t1830", "t1900", "t1930", "t2000", "t2030", "t2100", "t2130", "t2200", "t2230", "t2300", "t2330")

我想以更简洁的方式重写这一点.在Scala中创建上述序列的最短方法是什么?

scala

14
推荐指数
3
解决办法
446
查看次数

Scala Future.fallbackTo有什么用?

鉴于此代码

val f1: Future[Int] = Future { 5 } //Future.failed(new Exception("sorry"))
val f2: Future[Int] = Future { 6 }

val result : Future[Int] = f1.fallbackTo {
  println("Fall back to that F")
  f2
}
Run Code Online (Sandbox Code Playgroud)

结果包含f1的结果.但是,无论f1是否失败,都会执行fallbackTo块中的代码.我期待只有在f1失败时才会执行fallbackTo块.

也许我的例子太简单(或者只是错误),但是fallbackTo的用途是什么?

scala future

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

Slick 2.0 Generic CRUD操作

我一直在寻找如何为公共CRUD和其他类型的操作实现通用特性,我看了这个,这个和指定的方法运行良好.

我想要的是一个通用的插入方法,我的类目前看起来像这样(非泛型实现):

object CampaignModel {
  val campaigns = TableQuery[Campaign]

  def insert(campaign: CampaignRow)(implicit s: Session) = {
    campaigns.insert(campaign)
  }
}
Run Code Online (Sandbox Code Playgroud)

到目前为止,我在第一个链接之后尝试了这个(通用实现):

trait PostgresGeneric[T <: Table[A], A]  {
  val tableReference = TableQuery[T]

  def insertGeneric(row: ? What type goes here ?)(implicit s: Session) = tableReference.insert(row)

}
Run Code Online (Sandbox Code Playgroud)

当我检查insert方法时,它看起来应该是正确的类型,T#TableElementType但我的知识非常基本,我无法围绕类型,我尝试过T,A并且编译器说classtype不符合特征的类型.

其他信息,这些表是使用光滑的表生成工具生成的

case class CampaignRow(id: Long, name: Option[String])

/** Table description of table campaign. Objects of this class serve as prototypes for rows in queries. …
Run Code Online (Sandbox Code Playgroud)

generics postgresql scala slick slick-2.0

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

在悬停时更改字体大小移动其他div

我想在悬停在元素上时更改字体大小,我遇到的问题是当我移动一个项目时,列表中的其他div向下移动.这是我的代码:

CSS

a{
    /* position:absolute */
    font-size:16px;
}

a:hover {
    color:#0033CC;
    font-size:18px;
}

#menu_list{
    width:859px;
    cursor:pointer;
    }

#menu_list li{
    width:130px;
    height:21px;
    display:inline-block;
    margin: 0px 0px 0px 0px;
    border:1px solid #616261; 
    -webkit-border-radius: 3px; 
    -moz-border-radius: 3px;
    border-radius: 3px;
    font-family:sans-serif, arial, helvetica; 
    padding: 10px 10px 10px 10px; 
    text-shadow: -1px -1px 0 rgba(0,0,0,0.3);
    font-weight:bold; 
    text-align: center; 
    }
Run Code Online (Sandbox Code Playgroud)

HTML

<ul id="menu_list">
    <li><a>look</a></li>
    <li><a>look</a></li>
    <li><a>look</a></li>
    <li><a>look</a></li>
    <li><a>look</a></li>
</ul>
Run Code Online (Sandbox Code Playgroud)

这是一个JSFiddle.

正如你所看到的,我写了一个位置:绝对的元素,这有效,意味着div保持不变,但如果我这样做,我无法弄清楚如何将文本居中.我猜测问题是该元素没有上边距,所以我也试过了,但我想内联元素不可能设置边距,或者我现在没有正确的方法.

html css

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

Scala-播放:如何很好地处理WS获取异常

我有使用Play WS服务的以下功能:

def executeRequest(urls: List[Url]): List[Future[String]] = 
  urls.map(url => {
      WS.url(url.url).get().map(x => url.url + ": " + x.statusText )
  })
Run Code Online (Sandbox Code Playgroud)

Url这样定义的案例类在哪里:

case class Url(id: Long, url: String)
Run Code Online (Sandbox Code Playgroud)

我希望我的应用程序具有弹性,如果URL格式不正确,有时url值会触发一个IllegalArgumentException。我试过的是:

def executeRequest2(urls: List[Url]): List[Future[String]] =
  urls.map(url => {
    WS.url(url.url).get().map(x => url.url + ": " + x.statusText )
    .recover({
      case e: IllegalArgumentException => url.url + " is invalid"
    })
  })
Run Code Online (Sandbox Code Playgroud)

这是行不通的,很可能是因为异常是在.get()而不是将来的执行中引发的(无论如何,这只是一个猜测)。

我最终要做的是:

def executeRequest(urls: List[Url]): List[Future[String]] =
  urls.map(url => {
    try {
      WS.url(url.url).get().map(x => …
Run Code Online (Sandbox Code Playgroud)

web-services scala http playframework

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

没有为scala.slick.lifted.ColumnOrdered [Long]定义任何隐式排序。

我正在通过播放插件使用Slick 2.0,以下是我的表映射

class Tasks(tag: Tag) extends Table[Task](tag, "Tasks"){
    def id   = column[Option[Long]]("id", O.PrimaryKey, O.AutoInc)
    def txt  = column[String]("txt")
    def done = column[Boolean]("done")
    def * = (id, txt, done) <> (Task.tupled, Task.unapply)
}
Run Code Online (Sandbox Code Playgroud)

然后,我像这样创建了TableQuery对象

val tasks = TableQuery[Tasks]

我曾经tasks.list得到List[Task]哪个返回正确,但是当我想通过使用对结果进行排序时,tasks.list.sortBy(_.id.get.desc) 我得到了这个错误

没有为scala.slick.lifted.ColumnOrdered [Long]定义隐式Ordering。

任何的想法?

scala slick-2.0

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

编写一个返回=> T的函数

我正在尝试编写一个简单的转换器,将a java.util.Function转换为scala.Function1:

def toScalaProducer[T](f: JavaFunction0[T]) : => T  = => f()
Run Code Online (Sandbox Code Playgroud)

这是另一个效果很好的变体:

def toScalaFunction[T](f: JavaFunction0[T]) : () => T =
  () => f.apply()
Run Code Online (Sandbox Code Playgroud)

问题是我想将转换后的函数传递给现有的Scala API,但该API只接受类型的参数=> T,而不是类型的参数() => T.

有没有办法写这个toScalaProducer功能?

scala

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

如何在PHP中将<br>转换为(un)有序列表?

我有一个来自db的数组.数组包含由以下分隔的字符串<br>.所以我想爆炸他们并将其转换为

<ul>
    <li>...</li>
</ul> 
Run Code Online (Sandbox Code Playgroud)

使用函数(listIt($list))的结构:

function listIt($list)
{
  $list = mb_convert_case($list, MB_CASE_TITLE, 'UTF-8');
  $text = explode('<br>', $list);
  $menu = '<ul>';

  foreach ($text as $li)
  {
    $menu .= '<li>' .   $li . '</li>';
  }

  return $menu . '</ul>';
}
Run Code Online (Sandbox Code Playgroud)

我的数组(rawMenu)如下:

 array (size=5)
  0 => string 'Banana<br>Cheese<br>Egg<br>Salad<br>Water<br>Juice<br>Coffee' (length=62)
  1 => string 'Soup<br>Potato<br>Chicken<br>Fish<br>Juice<br>Wine<br>Salad' (length=61)
  2 => string 'Banana<br>Cheese<br>Egg<br>Salad<br>Water<br>Juice<br>Coffee' (length=62)
  3 => string 'Soup<br>Potato<br>Chicken<br>Fish<br>Juice<br>Wine<br>Salad' (length=61)
  4 => string 'Banana<br>Cheese<br>Egg<br>Salad<br>Water<br>Juice<br>Coffee' (length=62)
Run Code Online (Sandbox Code Playgroud)

问题是我传递给listIt($rawMenu[4])函数返回的字符串:

<ul>
   <li>Banana<br>Cheese<br>Egg<br>Salad<br>Water<br>Juice<br>Coffee</li>
</ul>
Run Code Online (Sandbox Code Playgroud)

php arrays string

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

scala:在闭包中强制执行不可变类型

简单的问题再一次.

我如何在函数/闭包中指定[more]应该来自不可变类型?

其他明智的我有这种副作用如下!

谢谢

var more  = 3

def increase[T: Numeric](x: T): T = implicitly[Numeric[T]].plus(x, more.asInstanceOf[T])

val inc =  increase[Int] _

more = 10

println( inc(5) )
Run Code Online (Sandbox Code Playgroud)

scala

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