小编Ben*_*ich的帖子

使用securesocial服务而不使用其视图

我开始在我的play/scala应用程序中集成SecureSocial,但我并不喜欢它在不同视图之间所做的所有重定向.

示例 - 尝试从其默认登录页面登录,如果您输入了错误的通行证,您将被重定向到不同的页面(网址),但使用相同的登录表单.唯一不同的是,有一个错误信息......

我想要一个简单的登录表单(用户/密码提供程序)在我的主页的角落,使用ajax提交它的数据,这些数据在服务器上验证,并且响应显示错误消息或更改窗口.地点.在这个表单旁边,我将放置一个链接,转到更高级的登录页面,添加选项以使用其他提供程序,如fb/twitter等.但是从该页面我还想使用ajax提交详细信息并获得响应.

我试图浏览SecureSocial源,但在那里有点迷失.

任何人都可以告诉我如何使用SecureSocial,但不使用它的任何观点?

注意:我对定制他们的视图不感兴趣,这不仅仅是一个CSS /设计问题,我想要处理Ajaxly的登录详细信息而不是正常的表单提交,然后是重定向...

authentication ajax login playframework securesocial

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

Foreach 针对 for(int...) 循环 - 为什么在删除元素时 foreach 会引发异常?

我想知道为什么我不能从列表中删除元素,当我使用 foreach 循环迭代它时:

List<Object> objects = new ArrayList<Object>();
Object one = new Object();
Object two = new Object();
Object three = new Object(); 

objects.add(one);
objects.add(two);
objects.add(three);
Run Code Online (Sandbox Code Playgroud)

然后删除元素,如:

foreach(Object o : objects){
  objects.remove(three); //I know that o is my current object
}
Run Code Online (Sandbox Code Playgroud)

似乎 foreach 循环不允许删除循环队列中“静止”的对象。我对么?

为什么 for-int-loop 不关心这个?在这个循环中,我可以轻松删除仍在循环中的对象。

谢谢

java foreach for-loop

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

构造函数是否可以包含确定调用哪个其他构造函数的逻辑?

在C#中可以决定构造函数,其他覆盖构造函数使用哪个?以下代码无法编译!我不知道使用哪个调用.

    public IntRange(int val, bool isMax)
        : isMax ? this() : this()
    {
        if (isMax)
        {
            IntRange(0, val);
        }
        else
        {
            IntRange(val, int.MaxValue);
        }
    }
Run Code Online (Sandbox Code Playgroud)

.net c# constructor

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

在scala中定义基于duck typing的泛型类型?

我知道我可以定义鸭子打字generics如下

trait MyTrait[A <: {def someMethod(key: String): String}]
Run Code Online (Sandbox Code Playgroud)

但是我不想string在我的trait定义中指定那么大.

我怎么能把它分成两部分(我希望我能拥有):

type A = B <: {def someMethod(key: String): String}

trait MyTrait[A]
Run Code Online (Sandbox Code Playgroud)

generics scala structural-typing

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

Scala - 如何"延迟"表达式的编译

我一直想为Scala实现一个链式比较运算符,但经过几次尝试后,我认为没有办法实现它.这是它应该如何工作:

val a = 3
1 < a < 5 //yields true
3 < a < 5 //yields false
Run Code Online (Sandbox Code Playgroud)

问题是,scala编译器在计算表达式时非常贪婪,因此上面的表达式计算如下:

1 < a    //yields true
true < 5 //compilation error
Run Code Online (Sandbox Code Playgroud)

我试图编写代码以某种方式实现它,这是我尝试过的:

  • 从类型Int到我的类型的隐式转换RichComparisonInt- 由于上面的评估方式没有帮助,
  • 覆盖类Int我的同班同学-不能完成,因为Intabstractfinal,
  • 我尝试case class用名字创建<,就像::,但后来我发现,这个类只是为了模式匹配而创建的,
  • 我想创建隐式转换=> Boolean,它可以在编译级别上工作,但是没有办法提取操作的参数,从而导致Boolean结果.

有没有办法在Scala中做到这一点?也许宏可以完成这项工作?

scala scala-macros

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

Scala:将列表转换为地图

我有一个动物类定义为

case class Animal(name: String, properties: List[String])
Run Code Online (Sandbox Code Playgroud)

给定一个动物列表,我想要一张来自属性的地图 -> 满足该属性的动物列表

举个例子,如果我输入的是,

List(
    Animal("Dog", 
           List("has tail",
                "can swim",
                "can bark",
                "can bite")),
    Animal("Tuna", 
           List("can swim",
                "has scales", 
                "is edible")),
    Animal("Black Mamba",
           List("has scales",
                "is venomous",
                "can bite"))
)
Run Code Online (Sandbox Code Playgroud)

输出应该是

Map(
  "has tail" -> List(Dog)
  "can swim" -> List(Tuna,Dog)
  "can bark" -> List(Dog)
  "has scales" -> List(Tuna,Snake)
  "is edible" -> List(Tuna)
  "is venomous" -> List(Snake)
  "can bite" -> List(Dog,Snake)
)
Run Code Online (Sandbox Code Playgroud)

我对函数式编程还很陌生。我可以以命令式的方式做到这一点,但一直在努力想出一个功能性的解决方案。欢迎任何指点!:)

dictionary functional-programming scala list

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

Decent Free Linq调试器

那里有免费的LINQ调试器吗?我在LINQ上很糟糕,我唯一能改进的方法是使用一些简单的调试器来调试我用它做的愚蠢错误.

有什么建议?一个简单的谷歌查询网络bupkis免费调试器.

linq

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

将数组[Array [Double]]转换为数组[Double]

如何使用Scala 2.10.4将双精度数组数组转换为双精度数组?

兑换: Array[Array[Double]] => Array[Double]

scala scala-2.10

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

Scala是如何发生的以及为什么

我已经检查它是否是下面的函数List[Int]List[String].但如果我检查如下,总是如此.为什么以及如何定义要检查List[Int]List[String]键入的函数.

if(checkIntCollection(List("q","aa","aa"))){
    Logger.info("it is true")
} else {
    Logger.info("it is false")
} 
Run Code Online (Sandbox Code Playgroud)

要么

if(checkIntCollection(List(1,2,3))){
    Logger.info("it is true")
} else {
    Logger.info("it is false")
}
Run Code Online (Sandbox Code Playgroud)

以下是检查: -

def checkIntCollection[T](v: T) : Boolean = v match {
    case _: List[Int] =>
      Logger.info("It is List[Int] found")
      true
    case _ =>
      Logger.info("It is unknown")
      false
}

def checkStringCollection[T](v: T) : Boolean = v match {
    case _: List[String] =>
      Logger.info("It is List[String] found")
      true
    case _ …
Run Code Online (Sandbox Code Playgroud)

types scala

3
推荐指数
2
解决办法
130
查看次数

Scala功能界面特征

我有一个特点:

trait MyTrait extends (Int => MyTrait)
Run Code Online (Sandbox Code Playgroud)

我怎样才能MyTrait将扩展限制为任何实现MyTrait

scala

3
推荐指数
2
解决办法
368
查看次数