使用通常的
是否更为惯用a < b
x == y
依此类推或
a .lt. b
x .eq. y
使用频率更高?
有时我不确定什么是惯用的,以及使用Fortran时穿孔卡时代的遗留问题,这可能是我还没有找到答案的一个案例。
答案 0 :(得分:4)
据我所知,选择只是风格,我不认为社区已经同意一个更好。 “现代”操作符(<
,==
...)是在fortran 90标准中引入的,因此两者都已经存在了一段时间。
值得注意的是,逻辑运算符(.NOT.
,.OR.
...)的格式与传统关系运算符(.NE.
,.LT.
...)类似。所以可以选择混合搭配:
((a < 1.0) .AND. (a > 0.0))
或保持一致:
((a .LT. 1.0) .AND. (a .GT. 0.0))
我个人更喜欢现代形式,特别是在这些情况下,因为它有助于区分逻辑运算符和关系运算符。
在我看来,(dif < tol)
比(dif .LT. tol)
更容易理解,特别是对于随意或快速的读者。
我也很好奇 - 其他人会有不同的偏好吗?也许有人可以参考一个有意见的fortran风格指南。
有趣的是,我的常见fortran引用(PGI Fortran,第11页)列出了表中的所有现代运算符,使用了一个带有单个遗留运算符的示例,并没有提及任何其他运算符传统运营商。