ScalaでReaderとWriterのモナドを使用するにはどうすればよいですか?

マイケル

入力を読み取り、処理して出力を書き込むプログラムを作成しているとします。

私にも機能があるとしましょう def process(input: MyInput): MyOutput

ここReaderで、入力にモナドを使用する必要があります。

def readAndProcess(reader:MyReader [MyInput]):MyReader [MyOutput] = 
  for(in < -reader )yield process(in)

これまでのところ、とても良いですが、今、私はどこかに出力を書く必要があります。つまり、Writerモナドが必要で、関数を定義できますreadProcessAndWrite

def readProcessAndWrite(reader:MyReader [MyInput]):MyWriter [MyOutput]

私が関数を持っているとしましょう

def write(out:MyOutput、writer:MyWriter [MyOutput]):MyWriter [MyOutput]

どうすれば定義できますreadProcessAndWriteか?

def readProcessAndWrite(reader:MyReader [MyInput]、
                        writer:MyWriter [MyOutput]):MyWriter [MyOutput] = ... ???
アレクセイロマノフ

少し誤解されていると思います。リーダーモナドは、プログラムへの入力を読み取ることを目的としていませんが、さまざまな関数に同じ引数を渡さないようにするためのものです。同様に、Writerは、標準出力やファイルへの書き込みではなく、計算で状態を蓄積することを目的としています。(もちろん、蓄積した後で書くことはできますが、これにはWriterモナドを使用しません!)

本当にそれらを結合したい場合は、結合されたモナド(ReaderWriter[MyInput, MyOutput];この質問を参照)またはモナド変換子ReaderT[MyInput, Writer[MyOutput]]またはその逆)を作成する必要があります

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

独自の理解に準拠したscalaモナドを作成するにはどうすればよいですか?

分類Dev

io.Readerとio.Writerを接続するにはどうすればよいですか?

分類Dev

Golangでbufio.Reader / Writerを閉じるにはどうすればよいですか?

分類Dev

ReaderT内でリストモナドを使用するにはどうすればよいですか?

分類Dev

Scala 2.12または2.13のナイトリービルドを使用するようにsbtに指示するにはどうすればよいですか?

分類Dev

Parsecのモナド内でIOを実行するにはどうすればよいですか?

分類Dev

System.IO.Unsafeなしでモナドの値を取得するにはどうすればよいですか?

分類Dev

シグナルでDjangoモデルの継承を使用するにはどうすればよいですか?

分類Dev

シグナルでDjangoモデルの継承を使用するにはどうすればよいですか?

分類Dev

LibreOffice Writer Track Changesモードで削除を元に戻すにはどうすればよいですか?

分類Dev

Scala:操作のリストを無料のモナドに構成するにはどうすればよいですか?

分類Dev

PlayでJavaとScalaのコードを整理するにはどうすればよいですか?

分類Dev

csv.writerのエンコードタイプを指定するにはどうすればよいですか?

分類Dev

Scalaの文法ルール定義で〜>と<〜を使用するにはどうすればよいですか?

分類Dev

TensorBoardでノードごとのメモリを表示するにはどうすればよいですか?

分類Dev

Javaでstdinモードをバイナリに設定するにはどうすればよいですか?

分類Dev

Adobe Readerのデフォルトとしてハンドツールを使用するにはどうすればよいですか?

分類Dev

Scalaを使用してSparkの行と列を配置するにはどうすればよいですか?

分類Dev

'language = c ++'モードでCの複素数を使用するにはどうすればよいですか?

分類Dev

WP7のBingMapsでダークモードを使用するにはどうすればよいですか?

分類Dev

「ステートフルモナドなし」という `MonadUnliftIO`の要件を理解するにはどうすればよいですか?

分類Dev

Ubuntu 20.04で自動ナイトモードを設定するにはどうすればよいですか?

分類Dev

Foxit Readerで署名を削除するにはどうすればよいですか?

分類Dev

AKSのコンテナごとのCPUとメモリの使用量をクエリするにはどうすればよいですか?

分類Dev

Scalaで同期を使用するにはどうすればよいですか?

分類Dev

Scalaで否定型を使用するにはどうすればよいですか?

分類Dev

状態モナドを使用してこの単純なコードを作成するにはどうすればよいですか?

分類Dev

Scalaを使用してxmlノードのxlink:hrefという属性の値を取得するにはどうすればよいですか?

分類Dev

CCRCの非対話型モードを使用するにはどうすればよいですか?

Related 関連記事

  1. 1

    独自の理解に準拠したscalaモナドを作成するにはどうすればよいですか?

  2. 2

    io.Readerとio.Writerを接続するにはどうすればよいですか?

  3. 3

    Golangでbufio.Reader / Writerを閉じるにはどうすればよいですか?

  4. 4

    ReaderT内でリストモナドを使用するにはどうすればよいですか?

  5. 5

    Scala 2.12または2.13のナイトリービルドを使用するようにsbtに指示するにはどうすればよいですか?

  6. 6

    Parsecのモナド内でIOを実行するにはどうすればよいですか?

  7. 7

    System.IO.Unsafeなしでモナドの値を取得するにはどうすればよいですか?

  8. 8

    シグナルでDjangoモデルの継承を使用するにはどうすればよいですか?

  9. 9

    シグナルでDjangoモデルの継承を使用するにはどうすればよいですか?

  10. 10

    LibreOffice Writer Track Changesモードで削除を元に戻すにはどうすればよいですか?

  11. 11

    Scala:操作のリストを無料のモナドに構成するにはどうすればよいですか?

  12. 12

    PlayでJavaとScalaのコードを整理するにはどうすればよいですか?

  13. 13

    csv.writerのエンコードタイプを指定するにはどうすればよいですか?

  14. 14

    Scalaの文法ルール定義で〜>と<〜を使用するにはどうすればよいですか?

  15. 15

    TensorBoardでノードごとのメモリを表示するにはどうすればよいですか?

  16. 16

    Javaでstdinモードをバイナリに設定するにはどうすればよいですか?

  17. 17

    Adobe Readerのデフォルトとしてハンドツールを使用するにはどうすればよいですか?

  18. 18

    Scalaを使用してSparkの行と列を配置するにはどうすればよいですか?

  19. 19

    'language = c ++'モードでCの複素数を使用するにはどうすればよいですか?

  20. 20

    WP7のBingMapsでダークモードを使用するにはどうすればよいですか?

  21. 21

    「ステートフルモナドなし」という `MonadUnliftIO`の要件を理解するにはどうすればよいですか?

  22. 22

    Ubuntu 20.04で自動ナイトモードを設定するにはどうすればよいですか?

  23. 23

    Foxit Readerで署名を削除するにはどうすればよいですか?

  24. 24

    AKSのコンテナごとのCPUとメモリの使用量をクエリするにはどうすればよいですか?

  25. 25

    Scalaで同期を使用するにはどうすればよいですか?

  26. 26

    Scalaで否定型を使用するにはどうすればよいですか?

  27. 27

    状態モナドを使用してこの単純なコードを作成するにはどうすればよいですか?

  28. 28

    Scalaを使用してxmlノードのxlink:hrefという属性の値を取得するにはどうすればよいですか?

  29. 29

    CCRCの非対話型モードを使用するにはどうすればよいですか?

ホットタグ

アーカイブ