Category Hierarchy

我在Xonsh中有一个函数,我试着像使用命令一样使用它(即:不带括号)。函数应该有选择地接受参数,但是每当我调用不带参数的函数时,我只得到函数的地址。如何使用可选参数调用函数?

示例如下:

def _up(args, stdin=None):
    # go up any number of directories
    if not args or len(args) < 1:
        args[0] = 1
    balloons = ('../' * int(args[0]))
    # echo @(balloons)
    cd @(balloons)
aliases['up'] = _up

当我不带参数地调用up时,我得到的是<function __main__.up>。当我这样调用它时,它起作用了:up 2

我可以做一个像这样的函数,但是我不能在不使用括号的情况下调用它(例如:作为命令),这是我更喜欢的:

def up(dirs=1):
    # go up any number of directories
    balloons = ('../' * dirs)
    # echo @(balloons)
    cd @(balloons)

调用up()up(2)都是这样的,但比起只调用upup 2要麻烦得多。在Xonsh中完成我想要做的事情的正确方法是什么?

转载请注明出处:http://www.yojatech.com/article/20230526/1605488.html