-
scala – 在Play 2.4中使用DI,如何在“安全”特性中使用服务类?
所属栏目:[安全] 日期:2020-12-16 热度:199
这是一个 authorisation example from Play Documentation(版本2.0.4;我试图找到这个文件的更新版本,但不能): trait Secured { def username(request: RequestHeader) = request.session.get(Security.username) def onUnauthorized(request: RequestHeader[详细]
-
scala – 将元组与null匹配
所属栏目:[安全] 日期:2020-12-16 热度:130
我不明白为什么以下情况不匹配. Null应该是Any的实例,但它不匹配.有人可以解释发生了什么吗? val x = (2,null)x match { case (i:Int,v:Any) = println("got tuple %s: %s".format(i,v)) case _ = println("catch all")}prints catch all 谢谢. 解决方法 这[详细]
-
list – Scala:为什么删除不推荐使用filterNot?
所属栏目:[安全] 日期:2020-12-16 热度:143
scala List(1,2,3) remove (_ 2)console:8: warning: method remove in class List is deprecated: use `filterNot' instead List(1,3) remove (_ 2) ^res0: List[Int] = List(2,3) 我不明白为什么这个被弃用了.作为不可变的,应该很清楚remove会返回一个新的[详细]
-
Scala和Haskell中的“复合”代数数据类型
所属栏目:[安全] 日期:2020-12-16 热度:126
在尝试用 Scala中的代数数据类型描述一部分Sql时,我遇到了创建表示数据类型的根特征的子特征的必要性.由于满足这个要求产生了一个我不确定可以用Haskell的ADT表示的代码,并且因为与Haskell不同,ADT不是Scala的本机构造,我现在想知道: 我是否正确无法表示一[详细]
-
如何读取扩展Any但不是AnyRef的Scala对象的类?
所属栏目:[安全] 日期:2020-12-16 热度:114
我有一个异类List,如下所示: val l = List(1,"One",true) 我需要通过仅提取属于给定类的对象来过滤其对象.为此我写了一个非常简单的方法: def filterByClass[A](l: List[_],c: Class[A]) = l filter (_.asInstanceOf[AnyRef].getClass() == c) 请注意,我有[详细]
-
斯卡拉 – 马丁奥德斯基:努力保持简单
所属栏目:[安全] 日期:2020-12-16 热度:108
我正在观看马[详细]
-
最好的scala成语,用于查找和返回
所属栏目:[安全] 日期:2020-12-16 热度:118
这是我经常遇到的事情,但我不知道这种优雅的做法.我有一个Foo对象的集合. Foo有一个方法bar()可以返回null或Bar对象.我想扫描集合,调用每个对象的bar()方法,并在第一个返回实际引用时停止并从扫描返回该引用. 明显: foos.find(_.bar!= null).bar 诀窍,但两[详细]
-
scala – 如何获得List元素之间的最小差距?
所属栏目:[安全] 日期:2020-12-16 热度:166
例如,假设我有一个排序列表 val sorted = List(1,5,15,37,39,42,50) 最小的间隙是(39-37)= 2.我如何获得这个结果?我一直在看foldLeft我感觉它与我需要的相似,但不是很正确 解决方法 val sorted = List(1,50)(sorted.tail,sorted).zipped.map(_-_).min//res2[详细]
-
实现更高阶函数,在scala中执行currying
所属栏目:[安全] 日期:2020-12-16 热度:159
我的一位同事给我发了一个问题如下: Implement a HOF(higher order function) that performs currying,the signature of your function is as follows: def curry[A,B,C](f:(A,B) = C) : A = B = C Similarly,implement a function that performs uncurryin[详细]
-
从Scala枚举值中检索名称属性
所属栏目:[安全] 日期:2020-12-16 热度:115
我创建了一个 Scala Enumeration,如下所示: object TimerStatus extends Enumeration { type Status = Value val InProgress = Value(1,"Pause Timer") val Paused = Value(-1,"Resume Timer") } 然后我有一个包含TimerStatus成员的Match类 如何从枚举值中[详细]
-
Scala相当于函数中的C静态变量
所属栏目:[安全] 日期:2020-12-16 热度:99
我对 Scala很新,偶然发现以下问题: 什么是Scala相当于函数的静态变量? void foo(){ static int x = 5; x++; printf("%d",x);} 编辑: 我想要实现的是一种函数调用计数器 – 我想检查我的函数执行了多少次,同时限制了这个计数器的可见性,以便它不能从外部修[详细]
-
Scala映射到HashMap
所属栏目:[安全] 日期:2020-12-16 热度:168
给定此类的Person对象列表: class Person(val id:Long,val name:String) 什么是获取(java)HashMap的“scala方式”,其中id为键和值的名称? 如果最佳答案不包括使用.map,请提供一个示例,即使它更难做到. 谢谢. 编辑 这就是我现在所拥有的,但它不是一成不变[详细]
-
这是设计Scala API的良好返回类型模式吗?
所属栏目:[安全] 日期:2020-12-16 热度:118
我在 Scala中经常看到这种类型的模式( found this example here): class UserActor extends Actor { def receive = { case GetUser(id) = // load the user,reply with None or Some(user) val user: Option[User] = ... sender ! user case FindAll() = //[详细]
-
scala – 转换A => Seq [B]的惯用法
所属栏目:[安全] 日期:2020-12-16 热度:142
我想将单个值转换为多个“特征”的集合,而不使用可变数据结构来收集值.我喜欢这样的幻想构造,它使用模式匹配,但在第一次匹配后不会停止: scala 2 multimatch { case i if i 0 = "Positive" case i if i 0 = "Negative" case i if (i % 2 == 0) = "Even" //y[详细]
-
scala是否提供C模板之类的东西?
所属栏目:[安全] 日期:2020-12-16 热度:66
我来自C并试图绕着 scala的类型系统. 考虑以下C模板类: templateclass Tclass Point2{ Point2( T x,T y ) : x(x),y(y) {} T x; T y; Point2T operator+( PointT const other ) const { return PointT(x+other.x,y+other.y); } T sumComponents() const { re[详细]
-
在Scala中,如何在标准完成后立即停止从文件中读取行?
所属栏目:[安全] 日期:2020-12-16 热度:134
在foreach循环中读取行,函数通过类似CSV的结构化文本文件中的键来查找值.在找到特定的行之后,继续阅读寻找某些内容的行是毫无意义的.如何在 Scala中没有break语句停止? 解决方法 以前的答案假设你想从文件中读取行,我假设你想要一种按需求打破循环的方法.[详细]
-
scala – 用于理解的map/flatmap函数是什么?
所属栏目:[安全] 日期:2020-12-16 热度:175
我想看看在map / flatmap中传递的f函数,但没有运气.我抛出了一个异常,看到f的任何迹象,都没有用.那是什么功能?它是如何在幕后产生的? Exception in thread "main" java.lang.RuntimeException at x.x.Main$A.getInt(Empty.scala:8) at x.x.Main$A.flatMap([详细]
-
修改函数内的多个列表并在Scala中返回它
所属栏目:[安全] 日期:2020-12-16 热度:200
我在 scala中有一个类型为[T]和[B]的列表,其对象e为E类型. 我想创建一个接受这三个参数的函数: def doSomething(t : List[T],b List[B],e : E) { ... } 但是我意识到List是不可变的,传递给函数的任何东西都被认为是val(不是var).但我需要修改t和b并将修改返[详细]
-
为什么我不能在Scala中的this.apply(_)中省略“apply”?
所属栏目:[安全] 日期:2020-12-16 热度:65
请注意以下代码 trait Example { type O def apply(o: O) def f(o: O) = this.apply(o)} 在Scala编译好.我希望我可以照常申请,写def f(o:O)= this(o).但是,这会产生令人兴奋的错误消息 type mismatch; found : o.type (with underlying type Example.this.O[详细]
-
scala – 使用视图时匹配错误
所属栏目:[安全] 日期:2020-12-16 热度:146
List(1,2,3,4).sliding(2).map({ case List(a,b) = a b }).forall(identity) 编译并返回true(尽管警告说匹配并非详尽无遗). List(1,4).view .sliding(2).map({ case List(a: Int,b: Int) = a b }).forall(identity) 编译(只要我们包含a和b的类型注释)但抛出M[详细]
-
scala – 无形:将一些元组映射到选项
所属栏目:[安全] 日期:2020-12-16 热度:192
有 (Some(1),2,Some(3)) 我希望得到 (Some(1),Some(2),Some(3)) 没有形状是否可以这样做? 解决方法 没有形状可以做很多! import shapeless._ import syntax.std.tuple._ trait basicOption extends Poly1 { implicit def default[T] = at[T](t = Some(t))[详细]
-
从Scala中的地图中选择第一个“N”元素
所属栏目:[安全] 日期:2020-12-16 热度:197
有没有一种从地图中提取第一个’N’元素的优雅方法? 我可以创建一个新的Map并迭代要选择的值,是否有一个函数可以实现这一点? 解决方法 从 the docs到地图上的take方法: Selects first n elements. Note: might return different results for different ru[详细]
-
Scala类型推迟
所属栏目:[安全] 日期:2020-12-16 热度:113
我正在使用Play framework 2.1和 Scala 2.10.1,并希望构建一个通用函数来从自定义案例类的List中构造一个JsArray. private def buildJsArray[T](l: List[T])(result: JsArray): JsArray = { l match { case List() = result case x::xs = buildJsArray(xs)(r[详细]
-
为什么在Scala Long中不能像Integer一样初始化为null
所属栏目:[安全] 日期:2020-12-16 热度:65
我正在创建我的 Scala bean,这是一个从YML配置加载的配置.如果没有指定,我想要一个long属性为null,但我面临下面的问题.知道为什么吗? startOffset: Integer = nullscala var endOffset: Long = nullconsole:11: error: an expression of type Null is ineli[详细]
-
scala – 构造Option对象的正确方法:Option(value)vs Some(valu
所属栏目:[安全] 日期:2020-12-16 热度:164
启动Option对象的两种方法的优缺点是什么: 1. def getAmount: Option[Int] = { val a: Int = 1 Option(a)} 2. def getAmount: Option[Int] = { val a: Int = 1 Some(a)} 我应该使用哪个? 解决方法 有两个重要的区别.首先,如果参数为null,则Option将返回Non[详细]