小编Pow*_*ool的帖子

路径中间的 zsh glob 限定符

假设我有以下目录结构:

$ 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)

其中(...)表示各个路径组件的全局限定符。

zsh

6
推荐指数
1
解决办法
2643
查看次数

Python多重继承和super()

我试图理解多重继承(即方法解析顺序C3算法)如何在Python中工作.以下经典钻石依赖的玩具示例给出了违背我直觉的结果.

特别是,我注意到以下内容:

  1. 当运行原样(即两者AAAsuper将呼叫Base,则输出是:<B> <A> <AA> <Base> </Base> </AA> </A> </B>.
  2. 当只有标记的行(1)被注释掉(即没有调用Base构造函数A)时,输出就是<B> <A> </A> </B>.
  3. 当只有标记的行(2)被注释掉(即没有调用Base构造函数AA)时,输出就是<B> <A> <AA> </AA> </A> </B>.
  4. 当两行标记(1)并被(2)注释掉时,则输出为<B> <A> </A> </B>.

我的问题是:

  • 在情况1中,似乎执行A在显式调用构造函数之前在构造函数中被中断Base,跳转到("recurses into")AA构造函数(就好像AA将从中派生A),然后进入Base,然后退出.这是怎么回事?(我理解MRO B->A->AA->Base来自C3要求,即在父类之前调用​​子类.)
  • 在案例2中,为什么 …

python inheritance constructor multiple-inheritance

5
推荐指数
1
解决办法
1766
查看次数