<=> 的含义Perl 中的(小于、等于、大于)?

发布于 2024-12-11 13:20:49 字数 332 浏览 0 评论 0 原文

这个答案,我看到了语法 <=>;这是什么意思?这似乎是某种基于上下文的比较,但这就是我所能收集到的全部。部分上下文:

sub rev_by_date { $b->[9] <=> $a->[9] }
my @sorted_files = sort rev_by_date @files;

In this answer, I saw the syntax <=>; what does this mean? It seems to be some sort of comparison based on the context, but that's all I can gather. Partial context:

sub rev_by_date { $b->[9] <=> $a->[9] }
my @sorted_files = sort rev_by_date @files;

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

玩套路吗 2024-12-18 13:20:49

来自 Perldoc

二进制“<=>”返回 -1、0 或 1,具体取决于左侧是否
参数在数值上小于、等于或大于右侧
争论。如果您的平台支持 NaN(非数字)作为数字
值,将它们与“<=>”一起使用返回 undef。 NaN 不是“<”、“==”、
“>”、“<=”或“>=”任何内容(甚至 NaN),因此这 5 个返回 false。南!=
NaN 返回 true,NaN != 任何其他值也是如此。如果您的平台
不支持 NaN,那么 NaN 只是一个数值为 0 的字符串。

From Perldoc:

Binary "<=>" returns -1, 0, or 1 depending on whether the left
argument is numerically less than, equal to, or greater than the right
argument. If your platform supports NaNs (not-a-numbers) as numeric
values, using them with "<=>" returns undef. NaN is not "<", "==",
">", "<=" or ">=" anything (even NaN), so those 5 return false. NaN !=
NaN returns true, as does NaN != anything else. If your platform
doesn't support NaNs then NaN is just a string with numeric value 0.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文