令
fi
为 f64 角度值。 -fi
的余弦可以用 Rust 写成以下两种方式
let fi : f64 = PI/2;
let c1 = (-fi).cos();
let c2 = f64::cos(-fi);
当需要对角度应用负运算符时,形式 2 对我来说似乎比形式 1 更自然。但一般来说,当负号不存在时,形式 1 似乎更常见。
如果我将角度的负值切换到形式 2,一般情况下我需要均匀性地切换到形式 2,形式 2 不如形式 1 紧凑。
或者我应该在所有情况下都坚持使用表格 1 吗?难道只有我觉得形式1对于角度的负值来说看起来很奇怪吗?
一般来说,形式 1 在 Rust 中会更常见。对于许多语言的作者来说,这可能看起来很奇怪,但对于我作为 Rust 和 Ruby 程序员来说,这似乎很自然。 (公平地说,Ruby 使用
Math.cos(-Math::PI/2)
,但它确实在 Float
上有很多方法。)
正如评论中提到的,它使重构变得更容易。如果您决定将代码扩展为浮点类型的通用代码,例如使用 num-traits 箱,那么它会比
T::cos(-f1)
更好用。作为一个讨厌在重构时必须改变很多东西的人,这对我来说似乎是合乎逻辑的。
这也与 Rust 中其他括号表达式的工作方式一致,例如
(1..10).map(|x| x * 2)
。没有人真的想在那里写结构名称。作为代码可读性规则,如果我有疑问,在罗马时,入乡随俗。
但是,这两种语法在功能上完全相同,因此这是一个风格决定。只要你保持一致,并且你和任何合作者的观点一致,最终都没关系。