void proc 和 void proc with discard 的区别
Difference between void proc and void proc with discard
给定以下两个过程:
proc firstOne(): void =
echo "X"
proc secondOne(): void =
echo "X"
discard
它们之间有什么功能上的区别(如果有的话)?而如果相同的话,discard if void type 丢弃结果的目的是什么?
第二个过程中的discard
是多余的。没有参数的 discard
只是空操作。它通常用于(如 Python 中的 pass
)语言语法需要语句但您不想做任何事情的地方。一个例子是一个空过程:
proc doNothing() =
discard
您仍然可以添加 discard
,即使它在语法上不是必要的,因为作为空操作它不会做任何事情。
这与带有参数的 discard
不同,后者的目的是调用函数的副作用并忽略结果。
给定以下两个过程:
proc firstOne(): void =
echo "X"
proc secondOne(): void =
echo "X"
discard
它们之间有什么功能上的区别(如果有的话)?而如果相同的话,discard if void type 丢弃结果的目的是什么?
第二个过程中的discard
是多余的。没有参数的 discard
只是空操作。它通常用于(如 Python 中的 pass
)语言语法需要语句但您不想做任何事情的地方。一个例子是一个空过程:
proc doNothing() =
discard
您仍然可以添加 discard
,即使它在语法上不是必要的,因为作为空操作它不会做任何事情。
这与带有参数的 discard
不同,后者的目的是调用函数的副作用并忽略结果。