2014-02-20 2 views
0
#!/usr/bin/perl 

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

Как выглядит OR-ing здесь, во втором случае неясно, (первый случай - с нулевой точкой, кажется, ясен)?perl логический оператор OR

+0

Вы можете заинтересуйтесь следующим: http://perldoc.perl.org/perlop.html#Logical-Defined-Or – squiguy

+4

можете ли вы объяснить, что не ясно? обратите внимание, что '|' и '| =' являются * не * логическими или операторами, они побитовыми или операторами, совершенно другая вещь. – ysth

ответ

4

| является побитовое operator и вы wan't к короткому замыканию строки к переменной, таким образом, использовать логическое ИЛИ ||

$v ||= "best"; 

Расчет Побитовое для первых символов "t" | "b" такой же, как

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

Оба являются двоичными (принимают два аргумента) операторами, и не унарны (принимают один аргумент). Я думаю, вы имели в виду, что '|' является побитовым оператором (побитовое ИЛИ), а '||' является логическим оператором (логическим ИЛИ). –

+0

@DaveSherohman tnx для коррекции. –

Смежные вопросы