刚刚从bash切换到zsh.
在bash中,后台任务在shell退出时继续运行.例如,在这里dolphin
继续运行exit
:
$ dolphin .
^Z
[1]+ Stopped dolphin .
$ bg
[1]+ dolphin . &
$ exit
Run Code Online (Sandbox Code Playgroud)
这就是我想要的默认行为.
相比之下,zsh的行为是警告运行作业exit
,然后再关闭它们exit
.例如,dolphin
在第二个exit
命令实际退出shell 时关闭:
% dolphin .
^Z
zsh: suspended dolphin .
% bg
[1] + continued dolphin .
% exit
zsh: you have running jobs.
% exit
Run Code Online (Sandbox Code Playgroud)
如何像bash一样在这里制作zsh的默认行为?
例如,对于常量,它是:
THIS_CONSTANT
This_Constant
ThisConstant
或者是其他东西...?
事实上,这整个主题是否有任何(准)官方参考?
我也希望能够快速仔细检查以下问题:
Ruby本身强制执行哪些命名模式(例如,Constant
s 必须以大写开头,对吧?),这些只是简约(method_name
s应该是蛇形的,对吗?)?
是否有任何约定如何写一个变量应该在其名称中的类的提醒?("匈牙利符号"或者其他......我的意思是,我有一种印象,如果你觉得有必要在Ruby代码中使用它,那你就是做错了,但无论如何,是否有约定?)
等等...
我有一堆.txt,Notepad ++说(在它的下拉"编码"菜单中)是"ANSI".
它们中有德文字符,[äöüß],在Notepad ++中显示正常.
但是当我File.read 'this is a German text example.txt'
这些时,他们并没有出现在irb中.
那么有谁知道我应该给出什么样的论据Encoding.default_external=
?
(我假设这是解决方案,对吗?)
当'utf-8'
或时'cp850'
,它将"äöüß"中的"ANSI"文件读作"\ xE4\xF6\xFC\xDF"...
(请不要犹豫,在你的答案中提到显而易见的"明显"事物;我几乎和你一样新生,并且仍然知道这个问题就足够了.)
我刚刚安装了DrRacket,并尝试了"如何设计程序 - 开始学生"的语言.
我跑了(+ 1 1)
,这需要十几秒才能出现:
Welcome to DrRacket, version 6.5 [3m].
Language: Beginning Student; memory limit: 128 MB.
2
>
Run Code Online (Sandbox Code Playgroud)
据我所知,我的安装几乎是"开箱即用".
我想知道的是,如果我的经验是不寻常的,
如果有任何明显的方法来解决它(如果是这样的话
(我查看了设置并没有找到任何明显的调整),
或者如果整个HTDP语言可能是悄悄地放弃了什么......?
我有这些文件:
/usr/share/racket $
find -iname "*htdp*.zo"
./pkgs/htdp-lib/lang/private/compiled/create-htdp-executable_rkt.zo
./pkgs/htdp-lib/lang/compiled/htdp-reader_rkt.zo
./pkgs/htdp-lib/lang/compiled/htdp-beginner-abbr-reader_rkt.zo
./pkgs/htdp-lib/lang/compiled/htdp-langs-save-file-prefix_rkt.zo
./pkgs/htdp-lib/lang/compiled/htdp-advanced-reader_rkt.zo
./pkgs/htdp-lib/lang/compiled/htdp-intermediate-lambda-reader_rkt.zo
./pkgs/htdp-lib/lang/compiled/htdp-advanced_rkt.zo
./pkgs/htdp-lib/lang/compiled/htdp-beginner-abbr_rkt.zo
./pkgs/htdp-lib/lang/compiled/htdp-intermediate_rkt.zo
./pkgs/htdp-lib/lang/compiled/htdp-intermediate-reader_rkt.zo
./pkgs/htdp-lib/lang/compiled/htdp-langs_rkt.zo
./pkgs/htdp-lib/lang/compiled/htdp-beginner_rkt.zo
./pkgs/htdp-lib/lang/compiled/htdp-intermediate-lambda_rkt.zo
./pkgs/htdp-lib/lang/compiled/htdp-beginner-reader_rkt.zo
./pkgs/htdp-doc/scribblings/htdp-langs/compiled/htdp-langs_scrbl.zo
./pkgs/htdp-doc/scribblings/htdp-langs/compiled/htdp-ptr_scrbl.zo
./pkgs/htdp-doc/htdp/compiled/htdp_scrbl.zo
./pkgs/htdp-doc/htdp/compiled/htdp-lib_scrbl.zo
./pkgs/htdp-doc/teachpack/htdp/scribblings/compiled/htdp_scrbl.zo
./pkgs/htdp-doc/teachpack/2htdp/scribblings/compiled/2htdp_scrbl.zo
Run Code Online (Sandbox Code Playgroud)
$ cat /proc/cpuinfo
processor : 0
vendor_id : GenuineIntel
cpu family : 6
model : …
Run Code Online (Sandbox Code Playgroud) 例如,我设置了这些:
L = /[a-z,A-Z,ßäüöÄÖÜ]/
V = /[äöüÄÖÜaeiouAEIOU]/
K = /[ßb-zBZ&&[^#{V}]]/
Run Code Online (Sandbox Code Playgroud)
这样/(#{K}#{V}{2})/
匹配"ßäÜ"
在"azAZßäÜ"
.
有没有更好的方法来处理它们?
我可以将这些常量放在我的Ruby安装文件夹中某个文件的模块中,所以我可以在我在计算机上写的任何新脚本中包含/要求它们吗?(我是新手,我知道我弄糊涂这个术语;请纠正我.)
此外,我可以只获得元字符\L
,\V
和\K
(或者在Ruby中没有设置的任何东西)在正则表达式中代表它们,所以我不必一直做那个字符串插值的东西吗?
在以下代码中,k2
与几乎没有区别k1
。也就是说,k2
除了使用插值定义以外,其他完全相同。(也就是说,我希望它是完全相同的;显然,从结果p k2
来看是不一样的。)
v = /[aeiouAEIOUäöüÄÖÜ]/ # vowels
k1 = /[[ßb-zB-Z]&&[^[aeiouAEIOUäöüÄÖÜ]]]/ # consonants defined without interpolation
k2 = /[[ßb-zB-Z]&&[^#{v}]]/ # consonants defined same way, but with interpolation
Run Code Online (Sandbox Code Playgroud)
但是如下所示,gsub
与k1
Works一起使用,而与之结合使用却以k2
我不理解的方式失败。
all_chars = "äöüÄÖÜß"<<('a'..'z').to_a.join<<('A'..'Z').to_a.join
p all_chars # "äöüÄÖÜßabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"
p all_chars.gsub( k1 , '_' ) # "äöüÄÖÜ_a___e___i_____o_____u_____A___E___I_____O_____U_____"
p all_chars.gsub( k2 , '_' ) # "äöüÄÖÜ_abcdefghijklm_o_____u__x__ABCDEFGHIJKLMNOPQRSTUVWXYZ"
p k1 # /[[ßb-zB-Z]&&[^[aeiouAEIOUäöüÄÖÜ]]]/
p k2 # /[[ßb-zB-Z]&&[^(?-mix:[aeiouAEIOUäöüÄÖÜ])]]/
Run Code Online (Sandbox Code Playgroud)
为什么不起作用?什么(?-mix:...)
啊 有没有办法像我期望的那样进行这项工作?
let
(defun demo1 ()
(let ((a 1)
(b 2))
; these print fine
(print a)
(print b)))
(demo1)
; these get "no value" errors, as expected
(print a)
(print b)
Run Code Online (Sandbox Code Playgroud)
输出:
1
2 *** - EVAL: variable A has no value
Run Code Online (Sandbox Code Playgroud)
let
,变量逃脱(对于习惯于更现代的范围规则的人来说,这是非常令人惊讶的,例如ruby's)
(defun demo2 ()
(setf a 1)
(setf b 2)
; these print fine
(print a)
(print b))
(demo2)
; these escape, and also print with no error!
(print …
Run Code Online (Sandbox Code Playgroud) variables scope global-variables common-lisp local-variables