小编Kev*_*ith的帖子

无法设置未定义成员的属性

AngularJS中移动,我在// ERROR下面的行中收到JavaScript错误.

我为什么要这样Cannot set property 'show' of undefined

<html ng-app>
<body>

    <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.0.1/angular.min.js">
      </script>

    <div ng-controller='DeathrayMenuController'>
        <button ng-click='toggleMenu()'>Toggle Menu</button>
        <ul ng-show='menuState.show'>
            <li ng-click='stun()'>Stun</li>
            <li ng-click='disintegrate()'>Disintegrate</li>
            <li ng-click='erase()'>Erase from history</li>
        </ul>
    <div/>

    <script>
    function DeathrayMenuController($scope) { 
        $scope.menuState.show = false;       // ERROR HERE

        $scope.toggleMenu = function() { 
            $scope.menuState.show = !$scope.menuState.show;
        };
    }
    </script>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

javascript angularjs

6
推荐指数
3
解决办法
7502
查看次数

具有多线程的Scala Singleton对象

使用play,我的控制器调用Foo服务,一个对象.此对象仅使用val's' immutable data structures,将由多个客户端调用.

当我的Controller调用Foo.doQuery()多个线程时,会发生什么?

如果客户端1拨打电话,Foo.doQuery()客户2的呼叫是否Foo.doQuery()必须等待?

我很好奇我是否应该简单地为每个实例创建一个新类Foo,但是我想知道val在多线程环境中使用Scala单例时会发生什么.

singleton multithreading scala playframework

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

X类采用类型参数

通过这篇关于Parser Combinators的信息性很好的文章阅读,我看到了这段代码:

class DisParser[+A](left: Parser[A], right: Parser[A]) extends Parser[A] {
  def apply(s: Stream[Character]) = left(s) match {
    case res: Success => res
    case _: Failure => right(s)
  }
}
Run Code Online (Sandbox Code Playgroud)

当我尝试编译此代码时,我得到:

Parser.scala:19: error: class Success takes type parameters
    case res: Success => res
              ^
one error found
Run Code Online (Sandbox Code Playgroud)

鉴于签名Parser:

case class Success[+A](value: A, rem: Stream[Character]) extends Result[A]
Run Code Online (Sandbox Code Playgroud)

如何更改case res: Success => res线条以提供Success正确的类型参数?

scala parser-generator

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

为抽象类创建Read [T]和Write [T]

我正在为Java类创建ReadsWrites使用Play Framework的JSON库.

我的一个类有一个抽象类字段.

ConcreteObj.java

public class ConcreteObj {

private AbstractObj someField;

public ConcreteObj(AbstractObj someField) {
   this.someField = someField;
}

public AbstractObj getSomeField() { return this.someField };
Run Code Online (Sandbox Code Playgroud)

...

读写

  implicit val ConcreteObjReads: Reads[ConcreteObj] =
    (JsPath \ "someField").read[AbstractObj].map{x: AbstractObj => new ConcreteObj(x)}

  implicit val ConcreteObjWrites: Writes[ConcreteObj] =
    (JsPath \ "someField").write[AbstractObj].contramap{x: ConcreteObj => x.getField}
Run Code Online (Sandbox Code Playgroud)

然而,下一步,创建一个Reads[AbstractObj],对我来说没有意义,因为抽象类无法实例化.

我想这Writes[AbstractObj]看起来像:

implicit val AbstractObjWrites: Writes[AbstractObj] = 
   (JsPath \ "otherField").write[String].contramap{x: AbstractObj => x.getOtherField}
Run Code Online (Sandbox Code Playgroud)

但是Reads[AbstractObj]呢?

java json scala playframework

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

为没有字段的Java Enum创建读/写

借助Play框架的JSON库,我怎么可以创建一个ReadsWrites对于没有领域一个Java枚举?

public enum EnumNoFields { RED, WHITE, BLUE }

implicit val EnumNoFieldsReads: Reads[EnumNoFields] = ?
implicit val EnumNoFieldsWrites: Writes[EnumNoFields] = ?
Run Code Online (Sandbox Code Playgroud)

enums json scala playframework

6
推荐指数
2
解决办法
1085
查看次数

总是使用Maven"干净"的目标?

是否应该将Maven clean目标应用于每个构建作为避免过时CLASS文件的最佳实践?或者也许总是使用clean是不必要的,因为Maven足够聪明,知道哪些源代码需要根据变化重新编译?

  • 安装
  • 等等?

Gareth Davis指出clean在重新命名CLASS文件后忘记运行的潜在危险- /sf/answers/326377551/.

例:

  1. 编译模块(不是整个项目) - Foo.java - > target/Foo.class
  2. 重命名为Bar.java并重新编译模块 - > target/{Foo.class,Bar.class}
  3. 重新编译 main
  4. BOOM - 其他模块代码应该无法编译,因为它依赖于制作Foo类(但由于我们没有清理它仍然存在).

我正在研究是否缺少clean会改善共享目录中来宾VM上的构建性能.但是,我并不知道总是clean首先调用该步骤的所有后果.

java maven

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

覆盖'val'时出现意外结果

在Scala 2.10.4中,给出以下类:

scala> class Foo { 
     |   val x = true
     |   val f = if (x) 100 else 200
     | }
defined class Foo
Run Code Online (Sandbox Code Playgroud)

以下两个例子对我有意义:

scala> new Foo {}.f
 res0: Int = 100

scala> new Foo { override val x = false}.f
res1: Int = 200
Run Code Online (Sandbox Code Playgroud)

但是,为什么这个电话不会回来100

scala> new Foo { override val x = true }.f
res2: Int = 200
Run Code Online (Sandbox Code Playgroud)

overriding scala

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

Haskell诉斯卡拉中的类型类

鉴于fHaskell和Scala中的以下实现:

Prelude> let f x y = x == y
Prelude> :t f
f :: Eq a => a -> a -> Bool
Run Code Online (Sandbox Code Playgroud)

斯卡拉:

scala> trait Equal[A] { def ===(x: A, y: A): Boolean }
defined trait Equal

scala> implicit val equalsInt = new Equal[Int] {
     |  def ===(x: Int, y: Int):Boolean = (x == y)
     | }
equalsInt: Equal[Int] = $anon$1@3daa422a

scala> def f[A : Equal](x: A, y: A): Boolean = 
     |   implicitly[Equal[A]].===(x, y)
f: [A](x: A, …
Run Code Online (Sandbox Code Playgroud)

haskell scala typeclass

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

理解类型投影

取自typelevel/kind-projector,它们之间的区别是什么:

// partially-applied type named "IntOrA"
type IntOrA[A] = Either[Int, A]
Run Code Online (Sandbox Code Playgroud)

// type projection implementing the same type anonymously (without a name).
({type L[A] = Either[Int, A]})#L
Run Code Online (Sandbox Code Playgroud)

?

它们是等价的吗?

scala partial-application type-constructor kind-projector

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

如何比较类型的平等?

我试图比较a StringString期待True.

Idris> String == String
Can't find implementation for Eq Type
Run Code Online (Sandbox Code Playgroud)

然后我预计False在比较a String和a时Bool.

Idris> String /= Bool
Can't find implementation for Eq Type
Run Code Online (Sandbox Code Playgroud)

我错过了import吗?

idris

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