小编Dan*_*ral的帖子

批处理文件,vista x64,if和括号

Windows上的某些批​​处理文件使用带有多行的IF语法,如下所示:

if var==rule (
  some comands
) else (
  else commands
)
Run Code Online (Sandbox Code Playgroud)

现在,Windows Vista x64决定将所有32位文件放在"C:\ Program Files(x86)"下.不幸的是,每当你在没有引号的多行IF中使用环境变量(例如PATH)时,变量值内的括号会混淆IF,从而中止批处理文件.例如:

if "%OS%"=="Windows_NT" (
  @setlocal
  call :set_home
  set _ARGS=%*
) else (
  set _SCALA_HOME=%SCALA_HOME%
  rem The following line tests SCALA_HOME instead of _SCALA_HOME, because
  rem the above change to _SCALA_HOME is not visible within this block.
  if "%SCALA_HOME%"=="" goto error1
  call :set_args
)
Run Code Online (Sandbox Code Playgroud)

即使%SCALA_HOME%出现的行未执行,带有此文件的批处理文件也将失败.这很烦人.这有解决方案吗?

windows 64-bit batch-file windows-vista

7
推荐指数
1
解决办法
5463
查看次数

Scala相当于Google Collections Lists.partition

我正在寻找一个将列表划分为固定大小的子列表的功能,这正是Google Collections库中的Lists.partition所做的.我在Scala Collections API中找不到这样的方法.我错过了什么吗?

scala guava

7
推荐指数
1
解决办法
862
查看次数

为什么Scala stdlib中没有ARM?

为什么with-openScala标准库中没有提供ARM(如Clojure )?

scala resource-management

7
推荐指数
1
解决办法
758
查看次数

如何确定Perl中变量的值是标量还是数组?

说我有这个:

my %hash;

$hash{"a"} = "abc";
$hash{"b"} = [1, 2, 3];
Run Code Online (Sandbox Code Playgroud)

以后我怎么能知道存储的是一个标量,如in "abc",还是数组,比如[1, 2, 3]

perl

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

为什么尾递归不能在此代码中获得更好的性能?

我正在创建一个更快的字符串拆分器方法.首先,我写了一个非尾递归版本返回List.接下来,尾递归使用ListBuffer然后调用toList(+=并且toList是O(1)).我完全期望尾递归版本更快,但事实并非如此.

有谁能解释为什么?

原始版本:

def split(s: String, c: Char, i: Int = 0): List[String] = if (i < 0) Nil else {
  val p = s indexOf (c, i)
  if (p < 0) s.substring(i) :: Nil else s.substring(i, p) :: split(s, c, p + 1)
}
Run Code Online (Sandbox Code Playgroud)

尾递归:

import scala.annotation.tailrec
import scala.collection.mutable.ListBuffer
def split(s: String, c: Char): Seq[String] = {
  val buffer = ListBuffer.empty[String]
  @tailrec def recurse(i: Int): Seq[String] =  {
    val …
Run Code Online (Sandbox Code Playgroud)

performance benchmarking scala

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

Capistrano与普通用户一起部署

我正在尝试设置Capistrano进行部署,但我现在偶然发现了capistrano用户的常见假设:SSH到远程主机的用户将有权写入部署目录.

在这里,管理员是普通用户,只有一个区别:他们可以sudo.起初,我认为这就足够了,因为有一些与sudo相关的配置,但似乎事实并非如此.

有没有解决的办法?创建部署所有人共享的用户不是可接受的解决方案.

编辑:为了清楚说明,没有调用sudo就不会发生部署操作 - 这是检查用户是否被允许部署的网关点,它应该是一个强制检查点.

目前接受的答案不符合该标准.它通过向用户授予额外权限来解决sudo问题.无论如何我都接受了,因为我得出的结论是卡皮斯特拉诺在这方面从根本上被打破了.

deployment capistrano

7
推荐指数
1
解决办法
5213
查看次数

使用GitLab的公共项目/默认权限

我正在将Gitorious与Gitlab进行比较,虽然我喜欢Gitlab有很多东西,但它有一个非常基本的问题.对于每个新存储库,创建者需要管理谁有权访问该存储库.

我们的模型非常简单:如果您可以访问gitlab,则可以访问大多数存储库.只有少数存储库会被关闭,我们甚至不需要在gitlab上使用它们.支持那个模型,但我还没有看到任何关于gitlab的方法.

可以吗?如果是这样,怎么样?

permissions gitlab

7
推荐指数
1
解决办法
8520
查看次数

Scala 2.12使用Java 1.8; 如果我们无法升级到Java 1.8,我们该怎么办?

Scala 2.12里程碑1的发布表明它需要Java 1.8.那时无法访问Java 1.8的Scala用户应该做些什么呢?

scala scala-2.12

7
推荐指数
1
解决办法
396
查看次数

如何从csv字符串中获取地图

我对Scala很新,但我现在正在练习.
我有一个字符串

"A>Augsburg;B>Berlin"
.我最终想要的是一张地图

val mymap = Map("A"->"Augsburg", "B"->"Berlin")

我做的是:

val st = locations.split(";").map(dynamicListExtract _)
与功能
private def dynamicListExtract(input: String)  = {
    if (input contains ">") {
      val split = input split ">"
      Some(split(0), split(1)) // return key , value
    } else {
      None 
    } 
  }
现在我有了
Array[Option[(String, String)
如何将其优雅地转换为Map [String,String]

有人可以帮忙吗?谢谢

csv string split scala map

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

Scala中反射的奇怪行为

我试图从另一个问题中得到一个例子,我遇到了一些我无法解释的事情:

scala> import scala.reflect.runtime.{currentMirror => m}
import scala.reflect.runtime.{currentMirror=>m}

scala> m.mkToolBox()
<console>:12: error: value mkToolBox is not a member of reflect.runtime.universe.Mirror
              m.mkToolBox()
                ^

scala> import scala.tools.reflect.ToolBox
import scala.tools.reflect.ToolBox

scala> m.mkToolBox()
res3: scala.tools.reflect.ToolBox[reflect.runtime.universe.type] = scala.tools.reflect.ToolBoxFactory$ToolBoxImpl@225765b0
Run Code Online (Sandbox Code Playgroud)

怎么mkToolBox不是m导入之前的成员ToolBox,而是之后的成员?

reflection scala scala-2.10

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