在 Rust 中书写角度的负余弦的惯用方法是什么?

问题描述 投票:0回答:1

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对于角度的负值来说看起来很奇怪吗?

rust trigonometry
1个回答
0
投票

一般来说,形式 1 在 Rust 中会更常见。对于许多语言的作者来说,这可能看起来很奇怪,但对于我作为 Rust 和 Ruby 程序员来说,这似乎很自然。 (公平地说,Ruby 使用

Math.cos(-Math::PI/2)
,但它确实在
Float
上有很多方法。)

正如评论中提到的,它使重构变得更容易。如果您决定将代码扩展为浮点类型的通用代码,例如使用 num-traits 箱,那么它会比

T::cos(-f1)
更好用。作为一个讨厌在重构时必须改变很多东西的人,这对我来说似乎是合乎逻辑的。

这也与 Rust 中其他括号表达式的工作方式一致,例如

(1..10).map(|x| x * 2)
。没有人真的想在那里写结构名称。作为代码可读性规则,如果我有疑问,在罗马时,入乡随俗。

但是,这两种语法在功能上完全相同,因此这是一个风格决定。只要你保持一致,并且你和任何合作者的观点一致,最终都没关系。

© www.soinside.com 2019 - 2024. All rights reserved.