0

これは非常に単純な質問であるか、以前に尋ねられた可能性がありますが、こことグーグルで簡単に検索した後、実際には答えを見つけることができませんでした.

ですから、これに似たものを見逃す危険を冒して、ここに私の質問があります。間隔をチェックする条件文がそのままではサポートされず、代わりにブロックとして実装されるか、演算子をif使用して 2 つの個別の条件をバインドするのはなぜですか?&&

2 行以上のコードを書かなければならないのは全世界ではないことを認めましたが、数学のバックグラウンドから来て、現代のコンパイラがこの比較的単純なステートメントでブードゥーを行うことができないのは本当に奇妙だと思います。

技術的または理論的な観点から、特定の理由はありますか?

4

2 に答える 2

1

ここでの私の2セント:a < b < c多くの言語で書く場合、それは(比較演算子がしばしば結合性のままであることを考えると)を意味し((a < b) < c)ます。ただしa < b、ブール値を返すため(たとえば、a < breturnsの場合true)、連続的な削減は(true < c)、非常にまれなケースを除いて、実行したいことではありません。

于 2012-07-13T10:22:40.507 に答える
1

一部の言語はその種の比較をサポートしているため、技術的な観点からは障害はないと思います。

そして、私の記憶が正しければ Mathematica です。

確かなことは、言語の構文解析がもう少し複雑になるということです。言語設計者は、それを非常に頻繁に使用する機能と見なさない場合、その代償を払うかもしれませんし、支払わないかもしれません。

ps。個人的には気に入っていますが、Python ではめったに使用していません。

于 2012-07-13T12:15:33.317 に答える