小编Fil*_*uca的帖子

在Heroku上安装devDependencies

我希望Heroku在我推送之后构建我的应用程序,这样我每次做出更改时都不必推送构建文件夹.但是heroku只安装package.json和grunt(我的构建工具)中的依赖项,并且它的所有组件都在devDependencies中.我想把它们留在他们所属的地方.这里的解决方法是什么?

heroku dependency-management npm gruntjs

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

将Iterable [[A,B]]减少到[A,Iterable [B]]

我需要将Iterable [[Throwable,String]]减少为[Throwable,Iterable [String]].我不知道这个操作是否相当普遍,在Iterable特征上没有发现任何内容.所以我写了这个函数:

def reduce[A, B](xs: Iterable[Either[A, B]]): Either[A, Iterable[B]] = 
  xs.collectFirst {
    case Left(x) => x
  } match {
    case Some(x) => Left(x)
    case None => Right(xs.collect{case Right(y)=> y})
  }
Run Code Online (Sandbox Code Playgroud)

任何人都可以帮助我找到一个更好的方法,如果这不是吗?

functional-programming iterable scala either

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

使用LiftScreen字段或文本

我正在使用这个LiftScreen特性,我对字段和文本方法有疑问.文本方法使用该makeField方法然后SHtml.text渲染字段,而field方法使用FormVendor特征来渲染html.

那么添加字段的最佳方法是哪种?我不得不使用字段方法或text/password/etc方法?

谢谢.

scala lift

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

PartialFunction类型

在scala play框架中,我看到了这段代码:

abstract class AnalyserInfo
case class ColumnC(typeName:String,fieldName:String) extends AnalyserInfo
case class TableC(typeName:String) extends AnalyserInfo

    val asIs :PartialFunction[AnalyserInfo,String] = {
      case ColumnC(_,f) => f;
      case TableC(typeName) => typeName
    }
Run Code Online (Sandbox Code Playgroud)

有什么区别:

val asIs: (AnaliserInfo)=>String = (info) => info match {
  case ColumnC(_,f) => f;
  case TableC(typeName) => typeName
}
Run Code Online (Sandbox Code Playgroud)

有一个首选的风格?为什么在第一种情况下可以省略match关键字?

谢谢你的支持.

scala

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

func(_)和func _之间的区别

有谁能告诉我Scala中func _和func(_)之间的区别?我不得不重写这个方法:

def validations: List[ValueType => List[FieldError]] = Nil
Run Code Online (Sandbox Code Playgroud)

如果我用以下方式覆盖它:

val email = new EmailField(this, 255){
  override def validations = valUnique _ :: Nil
  private def valUnique(email: String): List[FieldError] = {
    Nil
  }
}
Run Code Online (Sandbox Code Playgroud)

没关系,如果我用以下方式覆盖它:

val email = new EmailField(this, 255){
  override def validations = valUnique(_) :: Nil
  private def valUnique(email: String): List[FieldError] = {
    Nil
  }
}
Run Code Online (Sandbox Code Playgroud)

不行.任何人都可以解释原因吗?非常感谢你.

language-features scala

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

基于Ember.js的仪表板

我正在使用ember.js和使用spring MVC编写的rest API开发应用程序.我必须创建一个带有几个小部件的仪表板.每个小部件都作为自己的行为,并将调用不同的API方法.我想为每种小部件都有一个控制器子类.然后将实例化它们并将其添加到Container视图.但是,ember会自动为每个控制器创建一个实例,所以它是一条很好的路径吗?ember.js社区有什么建议吗?

感谢您的帮助.

javascript ember.js

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

Scalaz`Tag.apply`:它是如何工作的?

嗨,我正在研究高级Scala书,我在使用scalaz源代码中修改这段代码时遇到了一些麻烦:

object Tag {
  /** `subst` specialized to `Id`.
    *
    * @todo According to Miles, @specialized doesn't help here. Maybe manually specialize.
    */
  @inline def apply[@specialized A, T](a: A): A @@ T = a.asInstanceOf[A @@ T]

  // ...
}
Run Code Online (Sandbox Code Playgroud)

它怎么样?a.asInstanceOf[A @@ T]不应该用ClassCastException失败吗?

使用的一个例子是:

Multiplication(2) |+| Multiplication(3) 
Run Code Online (Sandbox Code Playgroud)

在这种情况下a是一个Int如何将它转换为@@[Int, Multiplication](Tagged[Int, Multiplication])

谢谢您的帮助.

scala scalaz monoids

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

如何隐式使用函数?

嗨,我读了Debasish关于隐式函数的有趣帖子.我写了这段代码:

def find[C <: Business](id: String) = {
  collection.findOneByID(id).map(x=> implicitly[DBObject => C].apply(x))
}
Run Code Online (Sandbox Code Playgroud)

但它无法使用此编译器消息进行编译:

could not find implicit value for parameter e: (com.mongodb.casbah.commons.Imports.DBObject) => C
Run Code Online (Sandbox Code Playgroud)

我的错是什么?有人可以帮帮我吗?

UPDATE

我的想法是这样的:find是在一个特性中声明的,对DBObject一无所知,我不想把这个依赖.

 trait BusinessRepository {
   def find[C <: Business](id: String): Option[C]
 }

class MongoBusinessRepository {

  val collection = ..

  def find[C <: Business](id: String): Option[C] = {
    collection.findOneByID(id).map(x=> implicitly[DBObject => C].apply(x))         
  }

  implicit def DBObject2Hotel(x: DBObject): Hotel = {
    // ... 
    // returning Hotel
  }
}

case class Hotel(...) extends Business(...)
Run Code Online (Sandbox Code Playgroud)

scala implicit

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

为不同的Scala版本选择不同的源文件

嗨,我想知道是否可以使用SBT针对某些类使用不同的源来针对不同的Scala版本进行交叉编译.基本上保持兼容性,但也利用新的语言功能.谢谢.

scala cross-compiling sbt

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