小编hoo*_*rEE的帖子

在OSX终端中显示人类可读的文件大小

在Linux中,我键入du -sh * | sort -rh以显示当前目录中的文件和目录,从最大到最小排序.

我如何在OSX终端中执行此操作,最好不要额外安装任何东西?

macos terminal du

27
推荐指数
3
解决办法
3万
查看次数

Haskell的Monad vs. APL的Monad

在APL和Haskell中,monad这个词是指两个完全不同的东西,或者从两个不同的角度看同一个东西.

我对两种语言都很陌生,并试图理解更高层次的概念.

monads haskell apl

10
推荐指数
2
解决办法
438
查看次数

UseConcMarkSweepGC已过时,它的替代品是什么?

Java程序使用JRE 10.0.2发出此警告:

Java HotSpot(TM) 64-Bit Server VM warning: Option UseConcMarkSweepGC was deprecated in version 9.0 and will likely be removed in a future release.
Run Code Online (Sandbox Code Playgroud)

建议将此交换机替换为什么?

java garbage-collection jvm compiler-flags deprecated

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

将命令行参数传递给 runpy

我有两个文件,其中一个有一个我关心的副作用,该副作用发生在if __name__ == "__main__"守卫中:

# a.py
d = {}
if __name__ == "__main__":
    d['arg'] = 'hello'
Run Code Online (Sandbox Code Playgroud)

第二个文件导入第一个文件(使用runpy)并打印字典:

# b.py
import runpy
m = runpy.run_module('a', run_name='__main__')
print(m['d'])  # {'arg': 'hello'}
Run Code Online (Sandbox Code Playgroud)

到目前为止这有效。但现在我想更改第一个文件以接受命令行参数:

import sys
d = {}
if __name__ == "__main__":
    d['arg'] = process(sys.argv[1])
Run Code Online (Sandbox Code Playgroud)

问题是它process()是由其他人编写的,超出了我的控制范围,但我仍然想d在“处理”后获取更新的字典。

我如何sys.argv在调用之前进行模拟runpy,或者以其他方式提供该值a.py

python python-3.x

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

J语言的"加载"命令

我正在研究J引物,并且在load命令方面遇到困难.

特别是,有时候教程的下一步是load 'foo',我会得到如下错误:

   load 'plot'
not found: /users/username/j64-801/addons/graphics/plot/plot.ijs
|file name error: script
|       0!:0 y[4!:55<'y'
Run Code Online (Sandbox Code Playgroud)

当我做ls /users/username/j64/addons/我只有configide在那里,所以它是明智的是graphics没有找到.

我的问题: 如果举一个例子说load 'foo',我该如何寻找和安装foo

installation j

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

如果我重新开始编译,它会从中断的地方继续吗?

我正在从源代码构建GHC但忘记添加-j3选项以告诉它在我的机器上使用这两个内核.

如果我Ctrl-c重新开始这个过程,它会继续从流程的当前阶段构建,还是会重新开始?

haskell makefile ghc

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

企业GitHub"页面"没有登录?

我使用我的组织的企业帐户设置了一个GitHub 页面项目站点.该页面应该是公共的,但它仍然需要LDAP身份验证.有没有办法让它真正公开?

github-pages github-enterprise

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

J将回车换成换行符

我正在尝试为命令行应用程序实现进度条,例如

[#####     ] 50% complete
Run Code Online (Sandbox Code Playgroud)

我知道我可以退回到线的起点并覆盖,但这看起来很糟糕.我宁愿使用回车键将光标放在第一列然后覆盖.

问题是J引擎似乎不呈现回车符,而是呈现换行符+回车符.

这是我尝试过的:

echo 'hi',(10{a.),'world'(10{a.打印时,ASCII 10,即回车)

hi
world
Run Code Online (Sandbox Code Playgroud)

echo 'hi',(13{a.),'world' (换行)打印

hi
world
Run Code Online (Sandbox Code Playgroud)

shell 'printf "%s\r%s" hi world' 打印

hi
world
Run Code Online (Sandbox Code Playgroud)

shell 'printf "%s\n%s" hi world' 打印

hi
  world
Run Code Online (Sandbox Code Playgroud)

最后,我在JHS中尝试了以上所有内容而不是Jconsole,结果相同.

由此可见,有三件事是显而易见的:

  1. J前端将回车转换为回车+换行.
  2. J前端还将外部生成的回车(例如printf)处理为换行符.
  3. J 确实自己识别换行符,如上例所示.

有帮助吗?

console-application j carriage-return

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

Bash 和 Tmux 中窗口标题栏中的 $PWD

我希望我的窗口标题栏显示我的 PWD。在我的文件中.bashrc,我有这个似乎对 Bash 有用:

# If this is an xterm set the title to user@host:dir
case "$TERM" in
xterm*|rxvt*)
    PS1="\[\e]0;${debian_chroot:+($debian_chroot)}\u@\h: \w\a\]$PS1"
    ;;
*)
    ;;
esac
Run Code Online (Sandbox Code Playgroud)

但是,当我使用 Tmux 时,窗口显示我启动 Tmux 的目录,而不是我在 Tmux 中导航到的当前目录。

下面,我在 中启动了 Tmux ~,然后导航到~/Downloads。标题栏仍然显示~。它后面是一个窗口,我~/Downloads仅使用 Bash 即可导航到该窗口;它显示了我想要的: 在此输入图像描述

以下是我已经尝试过但不起作用的事情:

bash pwd tmux

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

我可以在解释器解析代码之前断言 python 版本吗?

我想通知用户他们应该使用哪个 python 版本:

import sys
assert sys.version_info >= (3, 6), "Use Python 3.6 or newer"
print(f"a format string")
Run Code Online (Sandbox Code Playgroud)

但是相反,运行上述文件会导致语法错误:

$ python fstring.py. # default python is 2.7
  File "fstring.py", line 3
    print(f"a format string")
                           ^
SyntaxError: invalid syntax
Run Code Online (Sandbox Code Playgroud)

是否可以按文件执行此操作,而无需将所有 f 字符串包装在 try 块内?

python version-detection f-string

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