小编gia*_*olo的帖子

斯卡拉 - 将元组映射到地图的地图?

我有一个元组列表:

val t = List( (1,2,1.0), (1,3,2.0), (1,2,1.1) )
Run Code Online (Sandbox Code Playgroud)

我想创建一个带有t._1键的映射,以及带有t._2键的映射值和值的总和t._3.

val m = Map( (1-> Map((2 -> 2.1), (3 -> 2.0)) )
Run Code Online (Sandbox Code Playgroud)

我怎样才能在Scala中执行此操作?

我想用纯Scala而不是库来实现这个目标,但是如果scalaz等库(我完全主观认为)是一个更好看的解决方案,我也会接受这个答案.

dictionary scala list

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

从容器运行加特林

我正在使用denvazh / gatling容器,并且一切正常,除了我尝试通过这样的模拟列表的一件事:

Attaching to gatling
gatling_1 | GATLING_HOME is set to /opt/gatling
gatling_1 | Choose a simulation number:
gatling_1 |      [0] AppsPods
gatling_1 |      [1] ServerSimulation
gatling_1 |      [2] computerdatabase.BasicSimulation
gatling_1 |      [3] computerdatabase.advanced.AdvancedSimulationStep01
gatling_1 |      [4] computerdatabase.advanced.AdvancedSimulationStep02
gatling_1 |      [5] computerdatabase.advanced.AdvancedSimulationStep03 
Run Code Online (Sandbox Code Playgroud)

我写这样的命令:

docker run -it --rm -v /home/core/gatling/conf:/opt/gatling/conf \
-v /home/core/gatling/user-files:/opt/gatling/user-files \
-v /home/core/gatling/results:/opt/gatling/results \
denvazh/gatling -s AdvancedSimulationStep01
Run Code Online (Sandbox Code Playgroud)

但是没有任何意义再次显示模拟列表,我需要从列表中选择测试以开始模拟。所以有可能只运行我指定启动docker run命令的那个测试女巫吗???

gatling docker

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

在Scala中使用JSON到XML并处理Option()结果

请考虑Scala解释器中的以下内容:

scala> JSON.parseFull("""{"name":"jack","greeting":"hello world"}""")
res6: Option[Any] = Some(Map(name -> jack, greeting -> hello world))
Run Code Online (Sandbox Code Playgroud)

为什么在Some()中返回Map?我该如何使用它?

我想将值放在xml模板中:

<test>
  <name>name goes here</name>
  <greeting>greeting goes here</greeting>
</test>
Run Code Online (Sandbox Code Playgroud)

将Scala从Some(thing)中取出并在xml中获取这些值的Scala方法是什么?

scala scala-option

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

如何使用ReadableByteChannel获取文件内容并将其存储在byteBuffer中?

下面是我写的代码.我想做一件简单的事情,将二进制文件数据存储到byteBuffer中.

File file = new File(fileName);
try {
    ReadableByteChannel channel = new FileInputStream(fileName).getChannel();
    ByteBuffer buf = ByteBuffer.allocateDirect(file.length());

    // How can use buf.read to get all the contents?

} catch (Exception e){

}
Run Code Online (Sandbox Code Playgroud)

我在想

  1. 我如何使用read从通道获取所有数据并将其存储在ByteBuffer中
  2. 如果有更优雅的方式来分配ByteBuffer,除了使用Fileobject来获取文件的长度

java bytebuffer

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

从Scala中的通用选项数组返回值

我在使用我的函数泛型方面遇到一些困难,需要一些帮助.我有一个数组采用T的选项,其中T是一个分数.在F#中,有一个"选择"功能可以从一组选项中删除无.在scala中,我试图使用"flatten",但它不适用于泛型类型.

我的代码是

var arr = Array.fill(capacity)(None :Option[T])
Run Code Online (Sandbox Code Playgroud)

......后来我试着获得Some的价值观:

var flat = arr.flatten
Run Code Online (Sandbox Code Playgroud)

错误是:

错误:找不到参数m的隐含值:scala.reflect.ClassManifest [U] val flat = arr.flatten

我是一个完整的scala noob,也许不应该玩泛型:)我怎么做这个工作?

谢谢!

scala scala-option

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

fork/join多线程?

如果我有2个CPU并为fork/join框架安排1000个任务,那么一次最多可以执行2个任务,还是在同一个CPU上并行执行更多任务?(比方说,也许一个任务正在等待I/O,在这种情况下CPU会变为空闲而另一个线程可以运行)

java fork-join

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

如何在Java Fork/Join框架中显示工作窃取?

我想改进我的fork/join小例子,以表明在Java Fork/Join框架执行工作中发生窃取.

我需要对代码进行哪些更改?示例目的:只需对多个线程之间的值分解进行线性研究.

package com.stackoverflow.questions;

import java.util.LinkedList;
import java.util.List;
import java.util.Random;
import java.util.concurrent.ForkJoinPool;
import java.util.concurrent.RecursiveTask;

public class CounterFJ<T extends Comparable<T>> extends RecursiveTask<Integer> {

    private static final long serialVersionUID = 5075739389907066763L;
    private List<T> _list;
    private T _test;
    private int _lastCount = -1;
    private int _start;
    private int _end;
    private int _divideFactor = 4;

    private static final int THRESHOLD = 20;

    public CounterFJ(List<T> list, T test, int start, int end, int factor) {
        _list = list;
        _test = test;
        _start = start; …
Run Code Online (Sandbox Code Playgroud)

java fork-join work-stealing

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

为什么这两个代码块与Option类相同?

在编写的Option类的文档中,以下两个示例是等效的:

val name: Option[String] = request getParameter "name"
val upper = name map { _.trim } filter { _.length != 0 } map { _.toUpperCase }
println(upper getOrElse "")
Run Code Online (Sandbox Code Playgroud)

val upper = for {
  name <- request getParameter "name"
  trimmed <- Some(name.trim)
  upper <- Some(trimmed.toUpperCase) if trimmed.length != 0
} yield upper
println(upper getOrElse "")
Run Code Online (Sandbox Code Playgroud)

但是我不明白它们是如何等价的:在第一个代码块中request getParameter "name"返回类型的实例Option[String],但是在第二个代码块语句中name <- request getParameter "name"返回类型的实例String(我假设因为下一个语句trimname变量上调用方法(trim未定义Option[String])).

scala scala-option

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

使用Eclipse为每个枚举值使用一行格式化Java枚举

我有这样的Java代码:

private enum Operation {
        SAVE, LOAD, DELETE, UPDATE, REVISE 
};
Run Code Online (Sandbox Code Playgroud)

我想自定义Eclipse Indigo formatter来做这样的事情:

private enum Operation {
                SAVE, 
                LOAD, 
                DELETE, 
                UPDATE, 
                REVISE 
};
Run Code Online (Sandbox Code Playgroud)

我找不到任何适合我需求的选项,我错过了什么?或者这个版本的IDE根本不可能?

eclipse formatting eclipse-indigo

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

Promise.tryComplete中的参数是指什么?

谁能告诉我参数在tryComplete函数中引用了什么?

def any[T](fs: List[Future[T]]): Future[T] = {
   val p = Promise[T]()

   fs foreach (x => x.onComplete(p.tryComplete(_)))

   p.future
}
Run Code Online (Sandbox Code Playgroud)

我知道这里的下划线是类型的Try[T].这Try[T]是从哪里来的?

scala future promise

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