OKWAVEのAI「あい」が美容・健康の悩みに最適な回答をご提案!
-PR-
締切り
済み

論理演算子について

  • 暇なときにでも
  • 質問No.180837
  • 閲覧数36
  • ありがとう数2
  • 気になる数0
  • 回答数2
  • コメント数0

お礼率 8% (3/37)

論理演算に使う「or」なんですが、制御構文ifと組み合わせて以下のような使い方をしてみました。

$data01='aaa';
$data02='あああ';
$data03='test';

if ($data01 =~ m/aaa/ or $data02 =~ m/あああ/ or &data03 =~ m/test/){
特定の処理;
}

このorによる論理演算ははどこまでできるのでしょうか?
上のスクリプトは問題なく動いていますが、ちょっと不安です。
専門書を見ても、orによる論理演算は<条件1 or 条件2>としか書いてなく
<条件1 or 条件2 or 条件3 or ・・・>と書いても大丈夫なのでしょうか?
いくつもの比較はorを使わないほうがよろしいとは思うんですが、このorが便利なのでこれで済むなら使いたいと思います。
通報する
  • 回答数2
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

回答 (全2件)

  • 回答No.1

 大丈夫です。どこまでも使えます。  特に制限はありませんし、あまり使わない方がよい、なんて話も聞いたこともありません。  俺はできるだけ「||」を使うようにしていますが、これは計算演算子「|」と区別するためです。  「or」ではこの区別がつかないので、場合によって想定とは違う動きをすることがあるかもしれませんが、デバッグをしっかりやっておけば特に問題ないかと思います。
 大丈夫です。どこまでも使えます。
 特に制限はありませんし、あまり使わない方がよい、なんて話も聞いたこともありません。

 俺はできるだけ「||」を使うようにしていますが、これは計算演算子「|」と区別するためです。
 「or」ではこの区別がつかないので、場合によって想定とは違う動きをすることがあるかもしれませんが、デバッグをしっかりやっておけば特に問題ないかと思います。


  • 回答No.2
レベル12

ベストアンサー率 40% (237/589)

> このorによる論理演算ははどこまでできるのでしょうか? どこまででもできます。特に制限はありません。 (Perl 内部のメモリ領域等による制限はあるかも知れませんが、実質的には無制限と思って差し支えないでしょう。) > <条件1 or 条件2 or 条件3 or ・・・>と書いても大丈夫なのでしょうか? 1つの「条件」には、どのような式でも当てはめることができますので、 ...続きを読む
> このorによる論理演算ははどこまでできるのでしょうか?

どこまででもできます。特に制限はありません。
(Perl 内部のメモリ領域等による制限はあるかも知れませんが、実質的には無制限と思って差し支えないでしょう。)

> <条件1 or 条件2 or 条件3 or ・・・>と書いても大丈夫なのでしょうか?

1つの「条件」には、どのような式でも当てはめることができますので、「<条件1 or 条件2> という1つの条件」と考えれば、すっきりすると思います。
つまり、<条件1 or 条件2>を 条件1' と置き換えれば、<条件1 or 条件2 or 条件3>というのは、<条件1' or 条件3>となります。
以下、どんなに条件の数が多くなっても、同じことです。

どうもうまく説明できないのですが、おわかりいただけましたでしょうか?
このQ&Aで解決しましたか?
-PR-
-PR-
こんな書き方もあるよ!この情報は知ってる?あなたの知識を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-
-PR-
-PR-

特集


いま みんなが気になるQ&A

-PR-

ピックアップ

-PR-
ページ先頭へ