小编Sim*_*lbc的帖子

在内存中创建一个临时文件并将其用作命令的输入文件

我想在我的bash脚本中使用pdflatex命令。它以文件名作为输入,它将在其上处理内容。

现在,我有一个算法,如下所示:

for stuff in list of stuff; do
  echo "${stuff}" > /tmp/tmpStuff
  pdflatex /tmp/tmpStuff
done 
Run Code Online (Sandbox Code Playgroud)

现在,这可以按预期工作。但是我当时想通过减少磁盘I / O来加快速度(因为>重定向写入文件)。我希望我可以编写类似的内容,echo "$stuff" | pdflatex /tmp/tmpStuff但pdflatex使用文件而不是stdin作为其输入。有什么办法可以保存"$stuff"在内存中并将其作为一种文件传递给pdflatex?

TLDR:如果我可以创建一个可以命名并在内存中的临时文件,我会很高兴。

bash

5
推荐指数
3
解决办法
4428
查看次数

sbt unresolved依赖项:scala解析器组合器

我想在我的scala项目中使用scala解析器组合器..sbt我项目中唯一的文件是project/build.sbt:

libraryDependencies += "org.scala-lang.modules" %% "scala-parser-combinators" % "1.0.4"
Run Code Online (Sandbox Code Playgroud)

我尝试将此行添加到build/project.sbt

    resolvers += "Typesafe Repo" at "http://repo.typesafe.com/typesafe/releases/"
Run Code Online (Sandbox Code Playgroud)

但我得到完全相同的错误.

当我sbt 从项目的根目录中的终端执行时,我获得以下依赖性错误(这些是错误之前的最后一行):

[warn]  ::::::::::::::::::::::::::::::::::::::::::::::
[warn]  ::          UNRESOLVED DEPENDENCIES         ::
[warn]  ::::::::::::::::::::::::::::::::::::::::::::::
[warn]  :: org.scala-lang.modules#scala-parser-combinators_2.10;1.0.4: not found
[warn]  ::::::::::::::::::::::::::::::::::::::::::::::
[warn] 
[warn]  Note: Unresolved dependencies path:
[warn]      org.scala-lang.modules:scala-parser-combinators_2.10:1.0.4 (/home/simonlbc/workspace/examslenstra/project/build.sbt#L7-8)
[warn]        +- default:examslenstra-build:0.1-SNAPSHOT (scalaVersion=2.10, sbtVersion=0.13)
sbt.ResolveException: unresolved dependency: org.scala-lang.modules#scala-parser-combinators_2.10;1.0.4: not found
[error] (*:update) sbt.ResolveException: unresolved dependency: org.scala-lang.modules#scala-parser-combinators_2.10;1.0.4: not found
Run Code Online (Sandbox Code Playgroud)

有几行似乎是从sbt尝试解决几个不同的存储库中的插件:

[warn]  module not found: org.scala-lang.modules#scala-parser-combinators_2.10;1.0.4
[warn] ==== typesafe-ivy-releases: tried
[warn]   https://repo.typesafe.com/typesafe/ivy-releases/org.scala-lang.modules/scala-parser-combinators_2.10/1.0.4/ivys/ivy.xml …
Run Code Online (Sandbox Code Playgroud)

scala sbt

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

2^32 - 1 不是 uint32_t 的一部分?

这是编译输出让我哭的程序:

#include <inttypes.h>

int main()
{
        uint32_t limit = (1 << 32) - 1; // 2^32 - 1 right?
}
Run Code Online (Sandbox Code Playgroud)

这是编译输出:

~/workspace/CCode$ gcc uint32.c 
uint32.c: In function ‘main’:
uint32.c:5:29: warning: left shift count >= width of type [-Wshift-count-overflow]
         uint32_t limit = (1 << 32) - 1; // 2^32 - 1 right?
Run Code Online (Sandbox Code Playgroud)

我认为这(1 << 32) - 1等于 2^32 - 1 并且 32 位上的无符号整数范围从 0 到 2^32 - 1,是不是这样?我哪里做错了?

c uint32

0
推荐指数
1
解决办法
689
查看次数

使用长字符串定义Map [Int,String]作为正确的值

我正在尝试使用字符串litterals的串联作为Map[Int, String]定义中的值:

scala> val m: Map[Int, String] = Map(1 -> "a" + "b")
Run Code Online (Sandbox Code Playgroud)

但我收到以下错误 sbt console

<console>:7: error: type mismatch;
 found   : String
 required: (Int, String)
       val m: Map[Int, String] = Map(1 -> "a" + "b")
Run Code Online (Sandbox Code Playgroud)

我想要做这样的事情的原因是因为我想要从id定义映射到某些代码,如下所示:

Map(1 -> s"""SELECT year, COUNT(*) FROM""" + 
         s"""  (SELECT id, YEAR(pb_date) AS year  FROM Publications) AS Res1""" +
         s"""GROUP BY year;""")
Run Code Online (Sandbox Code Playgroud)

无需为每个作为Map右值的代码片段定义字符串.

有没有办法实现这个目标?

scala

0
推荐指数
1
解决办法
101
查看次数

标签 统计

scala ×2

bash ×1

c ×1

sbt ×1

uint32 ×1