perl - perl 中的操作符 // 做什么?
问题描述
我想出了以下代码: $avr = ($values[0] // $values[1]) eq '-' ? 0 : ($values[0] // $values[1]);
'//' 在这里有什么意思吗?
解决方案
EXPR1 // EXPR2
相当于
defined(EXPR1) ? EXPR1 : EXPR2
除了EXPR1
只评估一次。
my $var = $values[1] // $values[2];
$var = 0 if $var eq '-';
可能比
my $var = ($values[0] // $values[1]) eq '-' ? 0 : ($values[0] // $values[1]);
推荐阅读
- firebase - 在 Flutter 中从 Firebase 读取数组
- ruby - simple_form 中的自定义包装器:重复输入
- c# - linq Groupby 按“子列表”列出的列表
- three.js - three.js 带有 switch 语句的相机补间
- sql - 查询以获取每个月和上个月的用户数
- javascript - 从多个元素的值创建 JSON 对象的动态数组
- c# - Xamarin Android C# SQLite 参数查询
- python - Python 3.x 更改最后打印的行 end="\r" 不起作用
- c++ - C++ 代码在一台机器上运行,但在另一台机器上出现 seg 错误
- javascript - 如何在本机反应中根据数量更改产品的价值