我正在尝试阅读.bst
来自驯服野兽第 38 页有一个否定函数的示例:
FUNCTION {not}
{ { #0 }
{ #1 }
if$
}
我不明白#0
和#1
是什么。另外,在第 33 页的定义中if
,它需要三个参数I F1 F2
,但在代码中为什么只有两个?
答案1
{#0}
和{#1}
相当于F1
和F2
。 和I
是调用 ( 之前堆栈的顶部not
,I
是要取反的值)。 如果I
为真,if$
则执行F1
(此处为 #0,即错误的)。如果I
为假,if$
则执行F2
(此处为#1,即真的)。