gpt4 book ai didi

nim-lang - void proc 和带丢弃的 void proc 之间的区别

转载 作者:行者123 更新时间:2023-12-02 21:54:10 35 4
gpt4 key购买 nike

考虑到以下两个过程:

proc firstOne(): void =
echo "X"

proc secondOne(): void =
echo "X"
discard

它们之间有什么功能差异(如果有)?如果它们相同,如果 void 类型丢弃结果,那么丢弃的目的是什么?

最佳答案

第二个过程中的discard是多余的。不带参数的discard 只是一个无操作。它通常用在语言语法需要语句但又不想执行任何操作的地方(如 Python 中的 pass)。一个例子是一个空过程:

proc doNothing() =
discard

即使语法上没有必要,您仍然可以添加 discard,因为作为无操作,它不会执行任何操作。

这与带有参数的discard不同,后者的目的是调用函数来消除其副作用并忽略结果。

关于nim-lang - void proc 和带丢弃的 void proc 之间的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35147048/

35 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com