小编Ash*_*esh的帖子

将List的元素作为参数传递给具有可变参数的函数

我有一个函数叫做or例如,定义为;

or(filters: FilterDefinition*)
Run Code Online (Sandbox Code Playgroud)

然后我有一个清单:

List(X, Y, Z)
Run Code Online (Sandbox Code Playgroud)

我现在需要做的是调用or

or(func(X), func(Y), func(Z))
Run Code Online (Sandbox Code Playgroud)

正如预期的那样,列表的长度可能会发生变化.

在Scala中执行此操作的最佳方法是什么?

scala function

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

IntelliJ IDEA:无法导入SBT项目

对于那件事,我完全不熟悉Play或IntelliJ.我使用Activator创建了一个简单的HelloWorld应用程序,这是一个sbt项目.

我一直在尝试将其导入IntelliJ,这就是我遇到的屏幕:https: //www.dropbox.com/s/we1a4a3184sojvb/Screenshot%202014-07-24%2016.57.1​​1.png

几乎所有的教程都是我在网上完成的,我看到人们sbt在导入屏幕上使用了一个选项.我也安装了SBT插件,但这没有帮助.我已经多次重启IntelliJ无济于事.

我哪里错了?我运行13.1.4SBT安装的插件.

scala intellij-idea intellij-plugin sbt

14
推荐指数
4
解决办法
4万
查看次数

AngularJS:让ngRoute工作

我正在开发一个新的Angularjs webapp,我必须使用ngRoute.我有点困惑,因为在我的情况下路由根本不起作用 - 我总是在index和MainCtrl 结束.

index.html中我已经包含了所有依赖项,如下所示:

<body ng-app="orderyourselfApp">
    <!--[if lt IE 7]>
      <p class="browsehappy">You are using an <strong>outdated</strong> browser. Please <a href="http://browsehappy.com/">upgrade your browser</a> to improve your experience.</p>
    <![endif]-->

    <!-- Add your site or application content here -->
    <div class="container" ng-controller="LoginCtrl">{{hello}}</div>Soem random stuff

    <!--[if lt IE 9]>
    <script src="bower_components/es5-shim/es5-shim.js"></script>
    <script src="bower_components/json3/lib/json3.min.js"></script>
    <![endif]-->

    <!-- build:js(app) scripts/vendor.js -->
    <!-- bower:js -->
    <script src="bower_components/jquery/dist/jquery.js"></script>
    <script src="bower_components/angular/angular.js"></script>
    <script src="bower_components/angular-resource/angular-resource.js"></script>
    <script src="bower_components/angular-route/angular-route.js"></script>
    <!-- endbower -->
    <!-- endbuild -->

        <!-- build:js({.tmp,app}) scripts/scripts.js …
Run Code Online (Sandbox Code Playgroud)

angularjs angularjs-routing ngroute

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

SBT:在Docker容器中进行构建时,分辨率和失败都很慢

我玩的很简单!申请没有什么特别的build.sbt;

name := """project-name"""

version := "1.0-SNAPSHOT"

lazy val root = (project in file(".")).enablePlugins(PlayScala)

scalaVersion := "2.11.6"

libraryDependencies ++= Seq(
  jdbc,
  javaJdbc,
  javaEbean,
  "mysql" % "mysql-connector-java" % "5.1.38",
  cache,
  ws,
  "com.googlecode.libphonenumber" % "libphonenumber" % "7.1.0"
)

// string metrics
libraryDependencies += "com.rockymadden.stringmetric" %% "stringmetric-core" % "0.27.4"

resolvers += "scalaz-bintray" at "http://dl.bintray.com/scalaz/releases"
Run Code Online (Sandbox Code Playgroud)

而且里面Dockerfile我试图通过构建这个应用程序的可执行文件activator dist,sbt distactivator stage命令.

当我在计算机上运行时,所有上述工作都完美无瑕.但是,当我从docker容器中运行完全相同的命令时,我注意到了;

  • SBT需要很长时间来解决依赖关系,它在依赖项列表中的运行速度非常慢.
  • 构建失败,具有以下内容: sbt.ResolveException: download failed: org.scalaz#scalaz-core_2.10;7.0.2!scalaz-core_2.10.jar(bundle)

我怀疑这是否与SBT或Docker容器特有的错误有关.谁看过这个吗?

scala sbt playframework docker

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

PHP MongoDB扩展/类仅与CLI有关

  • cd/etc/php5
  • apache2/php.ini并且cli/php.ini完全相同
  • apache2/conf.d/mongo.ini并且cli/conf.d/mongo.ini完全相同

当我尝试通过命令行执行脚本时,我没有加载mongo扩展(我得到一个类未找到错误).通过apache完美运行.

有任何想法吗?(我写了这个小小的脚本来检查):

<?php
    echo class_exists('Mongo') ? "Mongo class found" : "Mongo class not found" . PHP_EOL;
?>
Run Code Online (Sandbox Code Playgroud)

当这个文件通过apache命中时,它通过CLI回应肯定,否定.

php command-line-interface mongodb

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

为什么Play拒绝形成报告"无法解决方法适用于此类签名:缺少参数"?

我有一个非常广泛的形式定义为;

case class EditDetail(token: String,
                      placeId: Long,

                      // accessibility
                      privateParking: Option[Boolean],
                      privateParkingType: Option[Int], // 0: internal, 1: external, 3: street
                      bikeParking: Option[Boolean],
                      valetService: Option[Boolean],
                      wheelChairAccess: Option[Boolean],

                      //  facilities
                      cashOnly: Option[Boolean],
                      paymentMeans: Option[List[String]], // comma separated Option[List[String]]s
                      wifi: Option[Int],
                      smoking: Option[Boolean],
                      aircon: Option[Boolean],

                      //  dining
                      dietaryRestrictions: Option[List[String]],
                      mealsServed: Option[List[String]],
                      alcoholChoice: Option[List[String]],
                      outdoorSeating: Option[Boolean],
                      catering: Option[Boolean],

                      //  reservation
                      acceptsReservations: Option[Int] /*, // 0: no, 1: yes, 2: only groups
                           reservationMethods: Option[List[String]], // <-- the problem area
                           reservationUrl: Option[String],
                           groupSizeMin: Option[Int],
                           groupSizeMax: Option[Int], …
Run Code Online (Sandbox Code Playgroud)

scala playframework

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

Play Framework:记录时间

我一直在使用Play Framework,但很多事情,我没有遇到定义日志模板,为日志添加时间戳.对于每分钟处理许多请求/ Akka消息的服务,这使得日志记录几乎无用.例如,我们使用Play记录器有点像这样;

Logger.error("could not fulfil request", someException)
Run Code Online (Sandbox Code Playgroud)

这是文档的方式.文档确实指出,可以定义自己的日志标题,如;

val exceptionLogger = Logger("exception")
// and then
exceptionLogger.error("while handling some/request", someException)
Run Code Online (Sandbox Code Playgroud)

上述结果的日志条目不包含任何类型的时间戳;

[error] exception - while handling some/request ...
Run Code Online (Sandbox Code Playgroud)

没有提到任何时间.现在,一个变通方法(不是最漂亮的)是这样的;

def exceptionLogger = {
    val dt = new DateTime
    Logger(s"$dt exception")
}
Run Code Online (Sandbox Code Playgroud)

这项工作做了什么,但我不相信.是否有更好的方法来格式化Play的默认日志记录行为?

logging scala playframework

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

Java Play:bindFromRequest()不起作用

我正在尝试Java Play,我遇到了直接的障碍.情况非常简单,设置简单.

我有一个名为的模型类Person非常简单,看起来像这样;

package models.models;

import play.db.ebean.Model;

import javax.persistence.Entity;
import javax.persistence.Id;

/**
 * Created by asheshambasta on 25/07/14.
 */
@Entity
public class Person extends Model {

    @Id
    public Integer id;

    public String name;
}
Run Code Online (Sandbox Code Playgroud)

我的路线定义为;

POST    /person                     controllers.Application.addPerson()
Run Code Online (Sandbox Code Playgroud)

接下来,我在addPerson里面有一个动作controllers.Application,就是这样

public static Result addPerson() {
    Person person = form(Person.class).bindFromRequest().get();
    person.save();
    Logger.debug(person.toString());
    Logger.debug(form().get("name"));
    return redirect(controllers.routes.Application.index());
}
Run Code Online (Sandbox Code Playgroud)

index.scala.html看起来像:

@(message: String)

@main("Welcome to Play") {
        <form action="@routes.Application.addPerson()" method="post">
            <input type="text" name="name" />
            <button>Add person</button>
        </form>
}
Run Code Online (Sandbox Code Playgroud)

我还检查了我的浏览器调试工具,我看到name …

html java forms scala http-post playframework

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

Akka:上下文会抛出NullPointerException吗?

我有一个非常简单的演员定义为:

object CoreActor extends Actor with ActorLogging {
  //  val SYSTEM_NAME = "CoreActors"
  val system = Akka.system()
  //  val system = ActorSystem.create("push", ConfigFactory.load.getConfig("push"))
  val pushUri = Play.current.configuration.getString("pushservice.uri").getOrElse("akka.tcp://CentralappPush@127.0.0.1:5000")
  val protocol = Play.current.configuration.getString("pushservice.protocol").getOrElse("akka.tcp")
  val pushSystem = Play.current.configuration.getString("pushservice.system").getOrElse("CentralappPush")
  val ip = Play.current.configuration.getString("pushservice.ip").getOrElse("127.0.0.1")
  val port = Play.current.configuration.getInt("pushservice.port").getOrElse(5000)
  val rootPath = Play.current.configuration.getString("pushservice.path.root").getOrElse("user")
  val actorPath = Play.current.configuration.getString("pushservice.path.actor").getOrElse("PushMaster")
  val selectionPath = RootActorPath(new Address(protocol, pushSystem, ip, port)) / rootPath / actorPath
  val pushActor = context.actorSelection(selectionPath)

  def receive = {
    case pprs: List[PlaceProvider] => {
      log.info("I received something")
      pushActor …
Run Code Online (Sandbox Code Playgroud)

actor akka

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