我想在我的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:如果我可以创建一个可以命名并在内存中的临时文件,我会很高兴。
我想在我的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) 这是编译输出让我哭的程序:
#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,是不是这样?我哪里做错了?
我正在尝试使用字符串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右值的代码片段定义字符串.
有没有办法实现这个目标?