小编xwi*_*nus的帖子

scala功能 - 案例类内外的方法/函数?

作为Scala的初学者 - 功能方式,我有点困惑于是否应该将我的case类的函数/方法放在这样的类中(然后使用类似方法链接,IDE提示)或者它是否是更实用的方法定义case类之外的函数.让我们考虑两种非常简单的环形缓冲区实现的方法:

1 /案例类内的方法

case class RingBuffer[T](index: Int, data: Seq[T]) {
  def shiftLeft: RingBuffer[T] = RingBuffer((index + 1) % data.size, data)
  def shiftRight: RingBuffer[T] = RingBuffer((index + data.size - 1) % data.size, data)
  def update(value: T) = RingBuffer(index, data.updated(index, value))
  def head: T = data(index)
  def length: Int = data.length
}
Run Code Online (Sandbox Code Playgroud)

使用这种方法,您可以执行类似链接的方法,IDE将能够在这种情况下提示方法:

val buffer = RingBuffer(0, Seq(1,2,3,4,5))  // 1,2,3,4,5
buffer.head   // 1
val buffer2 = buffer.shiftLeft.shiftLeft  // 3,4,5,1,2
buffer2.head // 3
Run Code Online (Sandbox Code Playgroud)

2 /案例类外的功能

case class …
Run Code Online (Sandbox Code Playgroud)

functional-programming scala purely-functional

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

超时后JavaEE 6 AsyncContext行为

AsyncContext超时后的确切行为是什么?它是否仍然运行并使用getResponse()返回响应?

asynchronous java-ee

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

Scala getters/setters - 最佳实践?

我是Java SE/EE开发人员,但在Scala中是初学者.在Java中,当我有一些应该可以被其他代码访问的私有字段时,我使用getX()/ setX()经典样式的getter/setter.但是,不确定Scala怎么样.我注意到在Scala中,字段的getter/setter的命名约定是使用与字段的名称相同的名称.那么只需设置字段就可以了public,还是应该使用这种getter/setter?:

private var _value = .....
def value = _value
def value_= (newVal:Int) = _value = newVal
Run Code Online (Sandbox Code Playgroud)

是否可以(根据scala命名约定)在字段名称本身之前放置下划线?

谢谢.

java scala naming-conventions

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

Netbeans Java代码格式化问题

我希望有一些Java代码的格式比默认的Netbeans格式化行为更紧凑,但是,我无法正确设置代码片段的Netbeans格式化选项,所以我会试着在这里问:

1 /是可以设置Netbeans格式保留单行方法吗?例如:

public void printMessage(String message) { System.out.println(message); }
Run Code Online (Sandbox Code Playgroud)

默认行为将此代码段格式化如下:

public void printMessage(String message) {
    System.out.println(message);
}
Run Code Online (Sandbox Code Playgroud)

2 /这种形式是否可以初始化双括号?

private List<String> list = new ArrayList<String>() {{
    // some code here
}};
Run Code Online (Sandbox Code Playgroud)

Netbeans总是将此代码分解为

private List<String> list = new ArrayList<String>() {
    {
        // some code here
    }
};
Run Code Online (Sandbox Code Playgroud)

谢谢你的提示.

java netbeans

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

Haskell-如何将两个Monadic Maybe函数合并为一个函数

假设我有这两个数据记录X和Y以及以下两个函数:

f1 :: IO (Maybe [X])
f2 :: X -> IO (Maybe Y)
Run Code Online (Sandbox Code Playgroud)

我需要先调用f1,然后对返回列表(存储在中IO (Maybe))的每个元素调用f2,这将导致类似的结果IO (Maybe [IO (Maybe Y)])。我怎样才能使他们变得有意义,例如

result :: Maybe (IO [Y])
Run Code Online (Sandbox Code Playgroud)

要么

result :: IO (Maybe [Y])
Run Code Online (Sandbox Code Playgroud)

非常感谢您的帮助:-)

haskell monad-transformers

5
推荐指数
2
解决办法
145
查看次数

无法将PrimeFaces添加为EAR的库

我想在我的Java EE 6(Jboss AS 7.1.1Final)应用程序中使用PrimeFaces,具有以下结构:

EAR
|- lib/
|    |- primefaces-4.0.jar
|
|- ejb-module.jar
|- webbapp1.war
|- webapp2.war
Run Code Online (Sandbox Code Playgroud)

但是,在部署到JBoss AS 7时,我遇到了几个例外,例如:

java.lang.LinkageError: Failed to link org/primefaces/context/PrimeFacesContextFactory 
Run Code Online (Sandbox Code Playgroud)

(请参阅PasteBin上的完整堆栈跟踪)

对于EAR的pom.xml,我正在使用PrimeFaces的Maven依赖:

    <dependency>
    <groupId>org.primefaces</groupId>
    <artifactId>primefaces</artifactId>
    <version>4.0</version>
    <type>jar</type>
</dependency>
Run Code Online (Sandbox Code Playgroud)

但是,当我将依赖项放入一个WAR的pom.xml时,它可以工作,但我想在多个WAR之间共享primefaces库.

我已经google了很多但没有找到任何解决方案.谢谢你的任何建议.

jsf jboss java-ee primefaces

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