假设我有以下目录结构:
$ mkdir -p a/1
$ ln -s a b
Run Code Online (Sandbox Code Playgroud)
搜索目录,我也得到了符号链接中的目录:
$ print -l */*(/)
a/1
b/1
Run Code Online (Sandbox Code Playgroud)
如何将第一个目录级别的通配限制为仅目录,不包括符号链接?显而易见的不起作用:
$ print -l *(/)/*(/)
zsh: bad pattern: *(/)/*(/)
Run Code Online (Sandbox Code Playgroud)
更一般地说,如何为中间路径组件指定 glob 限定符?在精神上:
$ print -l a(...)/b(...)/c(...)/d(...)/e(...)/f(...)
Run Code Online (Sandbox Code Playgroud)
其中(...)表示各个路径组件的全局限定符。
我试图理解多重继承(即方法解析顺序的C3算法)如何在Python中工作.以下经典钻石依赖的玩具示例给出了违背我直觉的结果.
特别是,我注意到以下内容:
A并AA有super将呼叫Base,则输出是:<B> <A> <AA> <Base> </Base> </AA> </A> </B>.(1)被注释掉(即没有调用Base构造函数A)时,输出就是<B> <A> </A> </B>.(2)被注释掉(即没有调用Base构造函数AA)时,输出就是<B> <A> <AA> </AA> </A> </B>.(1)并被(2)注释掉时,则输出为<B> <A> </A> </B>.我的问题是:
A在显式调用构造函数之前在构造函数中被中断Base,跳转到("recurses into")AA构造函数(就好像AA将从中派生A),然后进入Base,然后退出.这是怎么回事?(我理解MRO B->A->AA->Base来自C3要求,即在父类之前调用子类.)