人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

Perlで下記のような分岐条件を作りたいと思っています。

選択肢 A
選択肢 B
選択肢 C
選択肢 D
選択肢 E
選択肢 F

と言う選択肢6個を用意して、選択された内容に応じて
以下のような分岐条件にしたい場合どのような方法が最適でしょうか?

●6個選択された場合 → 結果1
●5個選択された場合 → 結果2
●0個の場合→ 結果3
●1?4個選択された場合 → 結果4
(1個の場合で、Aの場合はだけ → 結果5)

ご教授のほどよろしくお願いします。

●質問者: tk378mx
●カテゴリ:ウェブ制作
✍キーワード:Perl 教授 選択肢
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● GoldenDawn
●35ポイント

Switch モジュールを使う。

http://www2u.biglobe.ne.jp/~MAS/perl/waza/switch.html


2 ● randk
●35ポイント

my $cnt = 0;

(選択肢 Aの論理式) and $cnt++;

(選択肢 Bの論理式) and $cnt++;

(選択肢 Cの論理式) and $cnt++;

(選択肢 Dの論理式) and $cnt++;

(選択肢 Eの論理式) and $cnt++;

(選択肢 Fの論理式) and $cnt++;

$cnt == 6 and (結果1);

$cnt == 5 and (結果2);

$cnt == 0 and (結果3);

$cnt < 5 and (結果4);

でいいんじゃないかと思います。

もっと短くもできるでしょうけど可読性と趣味しだいかと。

後半部の評価回数を減らしたければif,elsifで分岐させればよいです。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ