![三項表現の有効性[閉じる]](https://linux33.com/image/217958/%E4%B8%89%E9%A0%85%E8%A1%A8%E7%8F%BE%E3%81%AE%E6%9C%89%E5%8A%B9%E6%80%A7%5B%E9%96%89%E3%81%98%E3%82%8B%5D.png)
hit
かどうかに応じて変数を設定しましたimpl == "MATCH"
。ほとんどの人はコードの実行を確認するためにいくつかの試みを提案しますが、この質問は主に他の人が副作用や誤ったコーディングスタイルがあるかどうかを確認して改善できるようにすることです。
(impl == "MATCH") ? hit = $0 ~ prl : hit = match($0, prl)
答え1
この記事を書こうと思います。
if (impl == "MATCH") { hit = ($0 ~ prl) } else { hit = match($0, prl) }
その場合、両方の結果部分が同じ変数に割り当てられるので、次のように書くことができます。
hit = (impl == "MATCH") ? ($0 ~ prl) : match($0, prl)
あなたのコードはうまくいきますが(実際に試しましたか?)、式で実際に三項演算子を使用せずに、代わりにメインインテント割り当てを駆動するために副作用を使用する複雑なif
...構造体に近いです。私はそれを悪いコーディングスタイルと呼びます。then
else