2013-10-07 4 views

答えて

7

if/elsif/elseチェーンはほとんどの時間を最高のオプションです。 「完全に異なる」アプローチの例としては、さまざまなシナリオを処理するためのさまざまなタイプのオブジェクトを作成し、メソッドディスパッチを使用して作業を行う、またはコードをデータ駆動型にする機会を見つけることです。両方とも適切で適切な場合は、コード内のswitch文の数を大幅に減らすことができます。

+6

言い換えれば、勧告は、 'given-when-default'の導入前に使用されたコーディングスタイルに戻ります! **私はそれが非常にイライラしていることを知っています。** – lexu

0

補足として、すぐに更新する必要のある/ when/defaultコードがある場合、 'for'とif/elsif/elseの組み合わせが適切であることがわかりました。 givenforに置き換え、ステートメントをif & elsifのカスケードに置き換え、defaultelseに置き換えてください。これにより、暗黙的に$_を使用してすべてのテストを続けることができ、書き換えを少なくすることができます。 (しかし、他の特別なスマートマッチ機能はもう機能しません)。

これは、指定された/ whenを既に使用しているコードを書き直すためです。新しいコードを書くために、@hobbsが正しい答えを持っています。

+0

'given'内の' next'は 'for'内の' next'とは異なる動作をすることに注意してください。 –

関連する問題