制御構造
💡 お知らせ: このドキュメントはAIによって翻訳されています。表現に違和感がある場合は、原文(英語)を参照するか、翻訳にご協力ください。
Flix は関数型プログラミング言語であるため、制御構造は多くありません。 制御のほとんどは、単なる関数適用によって行われます。Flix の制御構造は次のとおりです。
- If-Then-Else: 従来の if-then-else 式です。
- Pattern Matching: 代数的データ型(algebraic data type)を分解するための関数型の構文です。
- Foreach: コレクションを反復処理するための命令型の構文です。
- Monadic For-Yield: モナドの操作のための関数型の構文で、Scala の
for内包表記や Haskell のdo記法に似ています。 - Applicative For-Yield: アプリカティブな操作のための関数型の構文で、Haskell のアプリカティブな
do記法に似ています。
foreach、モナドの forM、アプリカティブの forA の違いは何でしょうか。
次の表は、各構文の使用例を示しています。
| アクション | 構文 |
|---|---|
| コレクション内のすべての要素を出力する。 | Foreach |
| コレクション内の各要素にエフェクトを伴う操作を適用する。 | Foreach |
Option や Result を扱う。 | Monadic For-Yield |
Monad を介して flatMap する。 | Monadic For-Yield |
Validation を扱う。 | Applicative For-Yield |
注意: Flix には従来の
whileループやforループはありません。代わりに、再帰や上記の構文のいずれかを使用することを推奨します。