小编Nic*_*ick的帖子

在Java中更改当前工作目录?

如何在Java程序中更改当前工作目录?我能找到的关于这个问题的一切声称你根本做不到,但我不相信那是真的.

我有一段代码,它使用来自通常启动的目录的硬编码相对文件路径打开文件,我只是希望能够在不同的Java程序中使用该代码,而无需从内部启动它一个特定的目录.看起来你应该只能调用System.setProperty( "user.dir", "/path/to/dir" ),但据我所知,调用该行只是默默地失败并且什么都不做.

我会理解,如果Java不允许你这样做,如果它不是因为它允许你获得当前的工作目录,甚至允许你使用相对文件路径打开文件....

java working-directory

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

Haskell中的模式匹配字符串前缀

假设我想为一个匹配以字符'Z'开头的字符串的函数创建一个特例.通过执行以下操作,我可以使用模式匹配轻松完成:

myfunc ('Z' : restOfString) = -- do something special
myfunc s = -- do the default case here
Run Code Online (Sandbox Code Playgroud)

但是如果我想匹配具有更长前缀的字符串呢?假设我想要一个以"烤面包机"开头的字符串的特殊情况.编写匹配此类字符串的模式的最佳方法是什么?

haskell pattern-matching

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

抑制Erlang"未使用的功能"警告

我编写了一个Erlang模块,其中并未直接调用所有内部函数.相反,有几个函数看起来像这样:

weird_func(Cmd, Args) ->
    ?MODULE:Cmd(Args).
Run Code Online (Sandbox Code Playgroud)

这是一个简化的例子,但你明白了.Erlang编译器会发出有关未使用函数的警告,实际上它们实际上是使用的,而不是直接使用.有没有办法抑制这些警告?理想情况下,我不想压制所有这些警告,而是我想告诉Erlang编译器将一些特定函数视为特殊情况.

erlang warnings

6
推荐指数
3
解决办法
5425
查看次数

自动重启Erlang应用程序

我最近遇到了一个错误,整个Erlang应用程序死了,产生一条如下所示的日志消息:

=INFO REPORT==== 11-Jun-2010::11:07:25 ===
     application: myapp
     exited: shutdown
     type: temporary
Run Code Online (Sandbox Code Playgroud)

我不知道是什么触发了这个关机,但我遇到的真正问题是它没有重启.相反,现在空的Erlang VM只是坐在那里什么都不做.

现在,根据我所做的研究,看起来还有其他"开始类型"你可以提供一个应用程序:'transient'和'permanent'.

如果我应用程序中启动Supervisor ,我可以告诉它将特定进程设置为瞬态或永久性,并且它将自动为我重新启动它.但是,根据文档,如果我将应用程序设置为瞬态或永久性的,它不会在它死亡时重新启动它,而是它也会杀死所有其他应用程序.

我真正想做的是以某种方式告诉Erlang VM应该始终运行特定的应用程序,如果它发生故障,请重新启动它.这可能吗?

(我不是在谈论在我的应用程序之上实现一个主管,因为那是一个问题22:如果我的主管进程崩溃怎么办?我正在寻找某种API或设置,我可以使用它来使用Erlang监视器和为我重启我的申请.)

谢谢!

erlang erlang-supervisor

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