这个空列表的第一个元素怎么是0?

How is the first element of this empty list 0?

考虑:

   {. ''          NB. makes sense...

   </. ''         NB. still makes sense....

   {. </. ''      NB. umm... where did that zero come from?
0
   '' -: </. ''   NB. and why is it behaving differently from line 1?
1                 NB. which is apparently identical to?

如何解释这些看似矛盾的问题?

那个零是从哪里来的?

NuVoc page 对于 {. (头):

If y has no items, {. y produces an item of fill atoms.

   {.0[=10=]
0

为什么它的行为不同

-: returns boolean 1 仅当其参数的形状和内容相同时。 </.'' 是一个没有元素且形状为 0 的空列表(因此 ''),而 {.'' 是一个原子:$(它的形状)给出空列表:

   ${.''

   $${.''
0

u: 表示它是一个 space 字符 (ASCII 32):

   3 u:{.''
32