我可以找到大量的例子,但它们似乎要么主要依赖于Java库,要么只是读取字符/行/等.
我只想阅读一些文件并获得带有scala库的字节数组 - 有人可以帮助我吗?
我开始使用sbt构建我的Scala代码(并处理依赖项).据我所知,如果我使用
$ sbt run <args>
Run Code Online (Sandbox Code Playgroud)
在命令行上,这将运行主项目的主类.
是否可以从命令行在任何其他项目中"运行",即不在交互式会话模式下?(我正在考虑可能看起来像$ sbt project <proj> run <args>什么的东西......)
我在交互模式下会做的是:
$ sbt
> project <projectname>
> run <args>
Run Code Online (Sandbox Code Playgroud)
这看起来很简单,但我找不到任何描述此行为的文档.提示将非常感谢...
在做一些小的正则表达式任务时,我遇到了这个问题.我有一个字符串,它是一个标签列表,看起来像这样:
foo,bar,qux,garp,wobble,thud
我需要做的是检查某个标签,例如'garp'是否在此列表中.(最终匹配的内容并不重要,只要匹配与否.)
我的第一个和有点愚蠢的尝试是使用以下正则表达式:
[^,]garp[,$]
我的想法是,在'garp'之前应该是行/字符串的开头或逗号,在'garp'之后应该有逗号或行/字符串的结尾.
现在,很明显这个正则表达式是错误的:^和$都会在字符类[]的上下文中改变它们的行为.
我最终想出的是以下内容:
^garp$|^garp,|,garp,|,garp$
这个正则表达式只是逐个处理4个案例.(标记在列表的开头,中间,最后,或作为列表的唯一元素.)最后的正则表达式在某种程度上有点丑陋在我的眼中,只是为了乐趣的缘故,我想做一点更优雅.
有没有办法如何在字符类的上下文中使用行/行结束字符(^和$)的开头?
编辑:好的,希望更多的信息,所以这里是:我在Oracle SQL语句中使用它.遗憾的是,这不允许任何环顾四周的断言,但是因为我只对匹配与否(而不是匹配的东西)感兴趣,这对我来说并没有真正影响我.标签可以包含非字母字符,如 - 或_ so\bgarp\b不起作用.另外一个标签可以包含另一个标签,如SilentGhost所说,所以/ garp/doesnt也可以工作.
我目前正在尝试以递归方式删除目录...奇怪的是,我能够找到的最短的代码是以下构造,采用ad-hoc内部类和访问者模式 ...
Path rootPath = Paths.get("data/to-delete");
try {
Files.walkFileTree(rootPath, new SimpleFileVisitor<Path>() {
@Override
public FileVisitResult visitFile(Path file, BasicFileAttributes attrs) throws IOException {
System.out.println("delete file: " + file.toString());
Files.delete(file);
return FileVisitResult.CONTINUE;
}
@Override
public FileVisitResult postVisitDirectory(Path dir, IOException exc) throws IOException {
Files.delete(dir);
System.out.println("delete dir: " + dir.toString());
return FileVisitResult.CONTINUE;
}
});
} catch(IOException e){
e.printStackTrace();
}
Run Code Online (Sandbox Code Playgroud)
来源:这里
考虑到新的nioAPI消除了这么多的混乱和样板,这感觉非常笨拙和冗长......
有没有更短的方法来实现强制的递归目录删除?
我正在寻找纯本机Java 1.8方法,所以请不要链接到外部库...
我试图用胶乳写我的论文......虽然不能直接得到布局:?我正在使用以下文档类:
\documentclass[11pt,a4paper,twoside,openright]{book}
Run Code Online (Sandbox Code Playgroud)
我的问题是:在奇数页面上有一个很大的边距,剩下一小部分 - 它应该是相反的方式...(对于绑定和东西)我有点困惑 - 我只是愚蠢地看到明显的?奇数页码出现在绑定文档的"右侧"页面上,因此左侧需要更大的装订边距进行绑定 - 反之亦然.对?
为什么LaTeX不像这样?
这是生成一个显示我的问题的小Tex文件的完整代码:
\documentclass[11pt,a4paper,twoside,openright]{book}
\begin{document}
\chapter{blah}
Lorem ipsum ius et accumsan tractatos, aliquip deterruisset cu usu. Ea soleat eirmod nostrud eum, est ceteros similique ad, at mea tempor petentium. At decore neglegentur quo, ea ius doming dictas facilis, duo ut porro nostrum suavitate.
\end{document}
Run Code Online (Sandbox Code Playgroud)
编辑:我知道有很多方法可以手动指定页边距,比如
\setlength{\oddsidemargin}{53pt}
Run Code Online (Sandbox Code Playgroud)
要么 ...
\usepackage[lmargin=1cm,rmargin=2.5cm,tmargin=2.5cm,bmargin=2.5cm]{geometry}
Run Code Online (Sandbox Code Playgroud)
我只是想使用默认设置而不理解为什么它们没有按预期运行.
我的CSS看起来像这样:
div.SOMECLASS {
position: absolute;
max-height: 300px
height: auto;
width: auto;
overflow: auto;
...
}
Run Code Online (Sandbox Code Playgroud)
div高度和宽度自动缩放.虽然高度已固定最大值:一旦达到此值,就会出现垂直滚动条.这很有效.
现在的问题:
如果垂直滚动条出现,他们使用了周围的10px的水平空间,如滚动条将放在里面的div.
但是,宽度不是自动调整的,以允许垂直滚动条使用的这些额外的10个像素.由于添加垂直滚动条之前的水平宽度恰好适合内容(正如width:auto设置所预期的那样),div现在还显示水平滚动条 - 允许缺少10个像素.这太傻了.
div以使垂直滚动条适合?如果可能的话我找的不依赖于只是完全禁用水平滚动,因为这可能会在某些时候需要(即对某些输入)的解决方案.
为 GitHub Actions 配置工作流程时,可以选择传递 GitHub 令牌以在工作流程中向 GitHub 进行身份验证。
我已经看到以下两种获取所述令牌的方法:
github.token
secrets.github_token
Run Code Online (Sandbox Code Playgroud)
两者之间有功能上的区别吗?或者这只是获得相同令牌的两种方式?
我正在使用Akka Actors,我正在尝试更新我的代码以使用最新的2.0里程碑.API有所改变,例如Actors的创建现在可以通过一个名为an的东西来工作ActorSystem.
开始和停止演员也改变了 - 后者可以通过ActorSystems方法.stop(..)和.shutdown().但我可以为我的生活找不到如何启动它们......文档很好,但似乎缺少一些重要的观点.我觉得有点愚蠢,但你如何在Akka 2.0环境中开始演员?如果我理解正确的话,那么拥有'父母'的演员会在这个父母开始的时候开始 - 那么顶级演员呢?
可能重复:
Javascript数组是否稀疏?
我正在学习JavaScript,并且已经阅读了一些简单的介绍和教程.在查看Array对象时,我偶然发现了一些细节,这些细节让我非常奇怪,来自其他语言,如C/Java/Scala/......
所以我们假设我们定义一个数组:
var arr = ['foo','bar','qux']
Run Code Online (Sandbox Code Playgroud)
我们现在分配
arr[5] = 'baz'
Run Code Online (Sandbox Code Playgroud)
这导致我们的数组看起来像这样:
arr
>> ["foo", "bar", "qux", undefined, undefined, "baz"]
Run Code Online (Sandbox Code Playgroud)
长度如预期
arr.length
>> 6
Run Code Online (Sandbox Code Playgroud)
JavaScript已经将我们的数组扩展到所需的长度 - 六 - 并且新项目被设置为undefined - 除了我们实际赋值的那个.
从低级别的角度来看,这是一种可怕的记忆.通常,数组在内存中是连续的范围 - 使数组更大通常涉及将整个数组复制到足够大小的新内存位置.这是一项非常昂贵的操作.
现在,我确实意识到这可能不是 JavaScript引擎正在做的事情,因为复制数组会非常昂贵,并且内存空间将被浪费在所有这些"未定义"的值上.
有人能告诉我门后究竟发生了什么吗?
我们还有一个Android项目,我们使用MockitoTestRunner和RobolectricTestRunner进行不同类型的测试.
我编写了一组与SSL有关的单元测试,因此加载了证书/密钥库/信任库等.为此,我使用MockitoJUnitRunner并以编程方式添加了Bouncycastle提供程序:
Security.insertProviderAt(new BouncyCastleProvider(), 1);
Run Code Online (Sandbox Code Playgroud)
现在,这些测试在自己运行时运行得非常好 - 例如,当我直接从测试类中运行单个方法,或者从Project树菜单中运行这些类时,它们工作得很好.
但是,当我运行沿着所述侧测试ANY它使用测试RobolectricTestRunner(例如,如果我只是犯前一起运行在我的项目的所有测试),我得到以下异常:
java.io.IOException: error constructing MAC:
java.lang.SecurityException: JCE cannot authenticate the provider BC
Run Code Online (Sandbox Code Playgroud)
我很困惑.一个测试类中使用的testrunner将如何影响其他类的运行,特别是如果我们使用不同的测试运行器?
附加信息:
insertProviderAt(...)调用本身似乎正常通过...java.security.NoSuchProviderException: no such provider: BC我们单独运行时,它们会失败,因为我们明确指定了提供程序.