【问题标题】:perl logical OR operatorperl 逻辑或运算符
【发布时间】:2014-02-20 06:17:49
【问题描述】:
#!/usr/bin/perl

$v = "test";
$v |= "best";
print $v;
$v =  "test" | "best";
print $v;

在第二种情况下 OR-ing 是如何出现的并不清楚(第一种情况是 oring with null 似乎很清楚)?

【问题讨论】:

标签: perl or-operator


【解决方案1】:

| 是按位的 operator 并且您不想将字符串短路到变量,因此使用逻辑 OR ||

$v ||= "best";

第一个字符"t" | "b"的按位计算与

#             116  | 98        = 118 ("v")
print chr(ord("t") | ord("b"));

【讨论】:

  • 两者都是二元(带两个参数)运算符,都不是一元(带一个参数)。我认为您的意思是| 是按位运算符(按位或),而|| 是逻辑运算符(逻辑或)。
猜你喜欢
  • 2011-08-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-12-20
  • 1970-01-01
  • 2010-12-08
相关资源
最近更新 更多