小编Ada*_*erg的帖子

如何让'git status'始终使用短格式?

我想git status总是使用短格式:

$ git status --short
 M file1
 M dir/file2
?? file_untracked3
?? dir/file_untracked4
Run Code Online (Sandbox Code Playgroud)

似乎没有为此配置选项,并且git config --global alias.status "status --short"不起作用.我还没有设法在zsh中创建别名.

如何git status默认使用短格式?

git zsh status

40
推荐指数
3
解决办法
8415
查看次数

如何停止Tornado Web服务器?

我一直在玩Tornado Web服务器,并且已经到了我想停止Web服务器的地步(例如在单元测试期间).Tornado网页上存在以下简单示例:

import tornado.ioloop
import tornado.web

class MainHandler(tornado.web.RequestHandler):
    def get(self):
        self.write("Hello, world")

application = tornado.web.Application([
    (r"/", MainHandler),
])

if __name__ == "__main__":
    application.listen(8888)
    tornado.ioloop.IOLoop.instance().start()
Run Code Online (Sandbox Code Playgroud)

一旦tornado.ioloop.IOLoop.instance().start()被调用,它就会阻塞程序(或当前线程).读取所述源代码IOLoop对象给出了文档在这个例子中stop功能:

To use asynchronous methods from otherwise-synchronous code (such as
unit tests), you can start and stop the event loop like this:
  ioloop = IOLoop()
  async_method(ioloop=ioloop, callback=ioloop.stop)
  ioloop.start()
ioloop.start() will return after async_method has run its callback,
whether that callback was invoked before or …
Run Code Online (Sandbox Code Playgroud)

python tornado

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

在Python中使用yield创建空迭代的最简单方法是什么?

我正在玩迭代,更具体地说是yieldPython中的运算符.在使用测试驱动开发来开始编写新的可迭代时,我想知道什么是最短的代码可以使迭代的这个简单测试通过:

def test():
    for x in my_iterable():
        pass
Run Code Online (Sandbox Code Playgroud)

我能想到的最短版本是:

def my_iterable():
    for i in []:
        yield i
Run Code Online (Sandbox Code Playgroud)

是否可以编写更简单,更短或更漂亮(pythonic)的版本?

python iterator yield

23
推荐指数
4
解决办法
8902
查看次数

Elixir的时间旅行和时间冻结

在编写依赖于当前日期/时间的集成测试时,能够freezetravel特定时刻(例如rubc的timecop)非常方便

有没有办法在Elixir/Erlang中实现类似的东西?

我试图嘲弄二郎内置插件:os.timestamp,:erlang.universaltime使用meck图书馆,但它失败:cannot_mock_builtin.

原则上我可以实现自己的实用程序库,而不是简单地模拟当前时间,然后在任何地方使用它而不是内置方法; 但是,有些库使用内置函数,因此这不是一个可行的选项(例如Ecto.Model.Timestamps,生成inserted_atupdated_at值)

erlang mocking elixir

20
推荐指数
1
解决办法
2448
查看次数

如何获取函数的名称?

是否有可能知道函数的名称?

main()->    
  myFunction().

myFunction()->
  io:write("I am ~s !",[????]).
Run Code Online (Sandbox Code Playgroud)

erlang

18
推荐指数
2
解决办法
2651
查看次数

如何在Ubuntu下处理GNU Make中的shell扩展?

鉴于此非常简单Makefile:

all:
    @mkdir -pv test/{a,b}
Run Code Online (Sandbox Code Playgroud)

我在OS X 10.6.8和CentOS 5.5上得到了这个输出:

mkdir: created directory `test'
mkdir: created directory `test/a'
mkdir: created directory `test/b'
Run Code Online (Sandbox Code Playgroud)

但是在Ubuntu 11.04上我得到了这个:

mkdir: created directory `test'
mkdir: created directory `test/{a,b}'
Run Code Online (Sandbox Code Playgroud)

mkdir -pv test/{a,b}在所有平台上的shell中手动运行命令会产生预期的结果.

GNU Make的版本在所有平台上都是相同的:

GNU Make 3.81
Copyright (C) 2006  Free Software Foundation, Inc.
This is free software; see the source for copying conditions.
There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE.

This program is built for [PLATFORM]
Run Code Online (Sandbox Code Playgroud)

在Ubuntu下有什么不同,为什么shell扩展不在那里工作?

bash ubuntu makefile gnu-make brace-expansion

17
推荐指数
1
解决办法
4941
查看次数

在Emacs中,如何根据缓冲区名称自动启用次模式?

我有一个Emacs扩展,创建一个名为的缓冲区*erl-output*.此缓冲区仅fundamental-mode在默认情况下创建.有没有办法自动启用compilation-minor-mode该缓冲区?

emacs

14
推荐指数
1
解决办法
5729
查看次数

如何在Erlang中创建1000个随机数的列表?

我确信它有一个功能.我只想列出1000个数字,每个数字应该是随机的.

erlang erlang-shell

13
推荐指数
2
解决办法
1万
查看次数

在Ubuntu 10.4中使用自定义Erlang时,在escript中启动Erlang从属节点失败

我有以下escript:

#!/usr/bin/env escript
%%! -name test_starter@127.0.0.1

main(_) ->
    NodeName = test,
    Host = '127.0.0.1',
    Args = "",

    {ok, _Node} = slave:start_link(Host, NodeName, Args),
    io:format("Node started successfully!").
Run Code Online (Sandbox Code Playgroud)

在Ubuntu 10.04上运行时,我得到了这个:

$ ./start_slave
Node started successfully!
$
Run Code Online (Sandbox Code Playgroud)

我想安装自己的Erlang(最新版本,调试透析器编译文件等),因为在Ubuntu上安装Erlang缺少一些功能.我把我的Erlang二进制文件放在里面~/Applications/bin.启动Erlang通常可以工作,并且在Erlang shell中启动从属节点也可以正常工作.

但是,现在我的escript不起作用.大约60秒后它返回一个错误:

$ ./start_slave                                   
escript: exception error: no match of right hand side value {error,timeout}
Run Code Online (Sandbox Code Playgroud)

即使我将第一行更改为escript以使用我的erlang版本,它仍然无效:

#!/home/user/Applications/bin/escript
Run Code Online (Sandbox Code Playgroud)

从属节点启动时erlang:open_port/2似乎正在使用调用,而该调用sh又不会读取我.bashrc设置自定义PATH环境变量的文件.slave:start_link/3等待从节点响应时似乎发生超时,但它从未发生过.

如何在Ubuntu 10.4上滚动我自己的Erlang安装并在escripts中启动slave节点?

更新:我试图将路径添加到我的自定义Erlang里面/etc/environment(PATHUbuntu 中的原始设置),但这不会改变任何东西......

更新2:接受给出的唯一答案(即使它没有解决问题).Ubuntu和Erlang版本现在有点老了,这可能不再是问题了.

erlang ubuntu

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

在Emacs中重新绑定C空间

我试过各种版本无济于事:

(global-set-key (kbd "C-<space>") 'tempo-complete-tag)

(global-set-key [C-space] 'tempo-complete-tag)
Run Code Online (Sandbox Code Playgroud)

我正在使用CUA模式并在Ubuntu上运行Emacs,版本:GNU Emacs 23.1.50.1(x86_64-pc-linux-gnu,GTK +版本2.18.0)的2009-09-27 on crested,由Debian修改

当我tempo-complete-tag手动运行它告诉我它绑定到C空间但C空间仍然运行cua-set-mark(或者如果CUA被禁用set-mark-command).

如何将Emacs中的C空间快捷方式重新绑定到我决定的命令?

emacs keyboard-shortcuts cua

7
推荐指数
2
解决办法
9434
查看次数