我有一个函数叫做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中执行此操作的最佳方法是什么?
对于那件事,我完全不熟悉Play或IntelliJ.我使用Activator创建了一个简单的HelloWorld应用程序,这是一个sbt
项目.
我一直在尝试将其导入IntelliJ,这就是我遇到的屏幕:https: //www.dropbox.com/s/we1a4a3184sojvb/Screenshot%202014-07-24%2016.57.11.png
几乎所有的教程都是我在网上完成的,我看到人们sbt
在导入屏幕上使用了一个选项.我也安装了SBT插件,但这没有帮助.我已经多次重启IntelliJ无济于事.
我哪里错了?我运行13.1.4
与SBT
安装的插件.
我正在开发一个新的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) 我玩的很简单!申请没有什么特别的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 dist
或activator stage
命令.
当我在计算机上运行时,所有上述工作都完美无瑕.但是,当我从docker容器中运行完全相同的命令时,我注意到了;
sbt.ResolveException: download failed:
org.scalaz#scalaz-core_2.10;7.0.2!scalaz-core_2.10.jar(bundle)
我怀疑这是否与SBT或Docker容器特有的错误有关.谁看过这个吗?
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回应肯定,否定.
我有一个非常广泛的形式定义为;
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) 我一直在使用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的默认日志记录行为?
我正在尝试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 …
我有一个非常简单的演员定义为:
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)