任何有经验的Erlang程序员都会推荐关联记录吗?
一种情况可能是不同机器上的两个(或更多)节点正在交换消息.我们希望能够独立升级每台机器上的软件.某些升级可能涉及向正在发送的一个(或多个)消息添加字段.似乎使用记录,因为消息意味着你总是必须在锁定步骤中对两台机器进行升级,以便额外的字段不会导致接收器忽略记录.然而,如果您使用类似关联列表(仍然具有"类似记录"API)的内容,尚未升级的接收器仍将成功接收消息并忽略新字段.我意识到这并不总是理想的行为,但往往是这样.此外,假设消息相当小,因此查找时间无关紧要.
假设上述内容有一定道理,我还有以下其他问题:
是否存在现有的Emacs函数,__all__
在编辑Python代码时添加当前符号的符号?
例如,假设光标是第一个o
在foo
:
# v---- cursor is on that 'o'
def foo():
return 42
Run Code Online (Sandbox Code Playgroud)
如果你做的Mx蟒蛇加至所有(或其他),将添加'foo'
到__all__
.
当我用Google搜索时,我没有看到一个,但是,一如既往,也许我错过了一些明显的东西.
我尝试了Trey Jackson的答案(谢谢,Trey!)并进行了一些修复/增强,以防任何人感兴趣(不再双重插入,__all__
如果它还不存在则放入更典型的位置):
(defun python-add-to-all () "Take the symbol under the point and add it to the __all__ list, if it's not already there." (interactive) (save-excursion (let ((thing (thing-at-point 'symbol))) (if (progn (goto-char (point-min)) (let (found) (while (and (not found) (re-search-forward (rx symbol-start "__all__" symbol-end (0+ space) "=" (0+ …
是否REMOVE曾经在Common Lisp的任何真正实现返回相同的序列?规范建议允许:
删除的结果可以与序列共享; 如果不需要删除元素,则结果可能与输入序列相同.
例如,SBCL似乎没有这样做,但我只进行了粗略(可能不够)的测试,我想知道其他实现是做什么的.
CL-USER> (defparameter *str* "bbb") *STR* CL-USER> *str* "bbb" CL-USER> (defparameter *str2* (remove #\a *str*)) *STR2* CL-USER> (eq *str* *str2*) NIL CL-USER> *str* "bbb" CL-USER> *str2* "bbb"
我有这个列表理解:
[(x,y)| x<-[1..2], y<-[x..3], let z = x+y, odd z]
Run Code Online (Sandbox Code Playgroud)
非常感谢!
有没有人为一个简单的Python WebDAV服务器有更好的代码片段?下面的代码(这是从一些谷歌的搜索结果中拼凑起来的)出现的Python 2.6下工作,但我不知道是否有人有东西,他们以前也使用过,一点点更多测试,完整.我更喜欢仅限stdlib的代码段而不是第三方软件包.这是为了一些测试代码,所以不必生产值得.
import httplib
import BaseHTTPServer
class WebDAV(BaseHTTPServer.BaseHTTPRequestHandler):
"""
Ultra-simplistic WebDAV server.
"""
def do_PUT(self):
path = os.path.normpath(self.path)
if os.path.isabs(path):
path = path[1:] # safe assumption due to normpath above
directory = os.path.dirname(path)
if not os.path.isdir(directory):
os.makedirs(directory)
content_length = int(self.headers['Content-Length'])
with open(path, "w") as f:
f.write(self.rfile.read(content_length))
self.send_response(httplib.OK)
def server_main(server_class=BaseHTTPServer.HTTPServer,
handler_class=WebDAV):
server_class(('', 9231), handler_class).serve_forever()
Run Code Online (Sandbox Code Playgroud) AWS cli 中是否有命令可以获取在我的 ec2 实例上运行的服务列表?
通常我会单独登录每个 ec2 实例,并使用 Linux 命令(例如“netstat”或“ps -eaf”)进行检查。
大约有 400 个实例,因此如果我手动执行此操作,则会花费相当多的时间。如果有任何 AWS 命令可以在不实际登录实例的情况下查找正在运行的服务,那就太好了。
提前致谢。
python ×2
amazon-ec2 ×1
aws-cli ×1
common-lisp ×1
emacs ×1
erlang ×1
filter ×1
haskell ×1
webdav ×1