|
|
1
8
根据经验,我建议 从未 在函数签名的参数中放入元组。
为什么?好吧,如果重点是把东西组合在一起,那么元组在这方面做的工作相当微薄。当然,您可以使用嵌套元组和类型同义词来解释它们的含义,但所有这些都是脆弱的,使用适当的记录类型可以更好、更安全地完成。如你所知,向量的x分量和y分量通常是在一起的。不仅如此,从某种意义上说,将x和y组件完全隐藏在任何有趣的代码中是个好主意。这正是
常用函数签名中的元组示例如下
为什么这是个坏主意?好吧,你用一个元组来表示一个区间。。。但在结果中也要表示一些完全不同的东西,用一组得到的随机值来更新生成器。正确的方法是使用一个类型来正确地表达它是什么
…或者更好的是,分离关注点,即手动状态线程应该隐藏在适当的monad中,例如
这并不意味着你永远不应该使用元组。为了 结果 ,因此,如果有一个函数返回两个结果,但对于这两个值一起表示什么,实际上没有任何有意义的解释,那么,返回一个元组。
此外,如果将完全抽象的类型分组在一起,就不可能对它们在一起的含义有一个解释。这就是为什么
你呢
可以
也有带元组的多结果函数。例如,您需要使用延续传递样式
|
|
|
2
1
在本例中,对于大多数用途,我将使用命名的数据类型。事实上,你似乎已经有了
|
|
KiraHoneybee · 具有构造函数参数的模板化类 4 年前 |
|
|
Jiji · 将简单对象强制转换为简单的通用接口 8 年前 |
|
|
Ashish K · 在Groovy中将字符串参数传递给对象方法参数 8 年前 |
|
|
snuff · c语法的问题-const*const*定义 8 年前 |
|
|
Val · 将整个结构指针数组传递给函数的语法是什么?[已关闭] 8 年前 |
|
|
dragi · 将参数传递到void方法(整数或对象) 8 年前 |
|
|
msinghm · 参数仅与其他参数一起工作,但我希望它们独立工作 8 年前 |
|
|
user3251349 · SSRS:参数未过滤MySQL查询 8 年前 |