Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

制御構造

💡 お知らせ: このドキュメントは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
OptionResult を扱う。Monadic For-Yield
Monad を介して flatMap する。Monadic For-Yield
Validation を扱う。Applicative For-Yield

注意: Flix には従来の while ループや for ループはありません。代わりに、再帰や上記の構文のいずれかを使用することを推奨します。