上記のコードでは、と対話する方法は、関数をポイントフリースタイルで記述することができます。ステップバイインタラクティブなポイントフリーの方法を教えてください。
答えて
ステップ:
interact r = getContents >>= putStr . r
interact r = (getContents >>=) (putStr . r)
interact r = (getContents >>=) $ (putStr .) $ r
interact = (getContents >>=) . (putStr .)
JBこれは私が探していたものです!ありがとう! –
ステップバイステップは本当に役立ちます。 –
最良の答えは:できません。この特定の例では、あなたのコードが読みにくくなるだけです。あなたの元の派手な変種は完全に上質です。
場合によっては、ポイントフリースタイルを避ける方がよい場合もあります。あなたの議論が線形のデータフローを受けないので、これもその1つです。むしろ何かのためにデータフローを構築するために使用されます。例:
-- Bad: Pointy linear data flow description.
chunksOf :: Int -> [a] -> [[a]]
chunksOf n xs =
takeWhile (not . null) (map (take n) (iterate (drop n) xs))
-- Good: Pointfree linear data flow description.
chunksOf :: Int -> [a] -> [[a]]
chunksOf n =
takeWhile (not . null) . map (take n) . iterate (drop n)
-- Bad: Now exaggerating with pointfree style.
chunksOf :: Int -> [a] -> [[a]]
chunksOf =
liftA2 ((.) (.) . (.) $ takeWhile (not . null))
(map . take)
(iterate . drop)
あなたは右のポイント無料のスタイルは、この場合は読みにくいです。私はちょうどそれをする方法を知りたがっていました。 –
- 1. ポイントから消える方法を教えてください。
- 2. タッチスクリーンのボタンを押す方法を教えてください。
- 3. このエラーの解決方法を教えてください
- 4. Behatのポップアップの確認方法を教えてください。
- 5. このエラーの解決方法を教えてください。
- 6. カスタムセッションコントローラのサインインチェックインの追加方法を教えてください。
- 7. このデッドロックテキストファイルの解釈方法を教えてください。
- 8. 3D重心の計算方法を教えてください。
- 9. Perl 6モジュールの検査方法を教えてください。
- 10. StackOverflowデータへのアクセス方法を教えてください。
- 11. angular-cli:webpackの設定方法を教えてください。
- 12. スクリプトの実行方法を教えてください。
- 13. chrome.tabs.onUpdated.addListenerの使用方法を教えてください。
- 14. Perlの展開方法を教えてください。
- 15. 保存ボタンextjs4のロード方法を教えてください。
- 16. Javaプログラムのインストール方法を教えてください。
- 17. EJB 3.0のテスト方法を教えてください。
- 18. プラグインプログラミングの作成方法を教えてください。
- 19. ブログのコメント作成方法を教えてください
- 20. EXC_BAD_ACCESSからの復旧方法を教えてください。
- 21. zclipの作業方法を教えてください
- 22. generate_eventsイベントの使用方法を教えてください。
- 23. ログの修正方法を教えてください
- 24. モンスターの移動方法を教えてください。
- 25. "tagsinput"の表示方法を教えてください。
- 26. GridLayoutの使用方法を教えてください。
- 27. Android GPUの使用方法を教えてください。
- 28. Microsoft VSTOインターフェイスの使用方法を教えてください。
- 29. YAWS/Erlangのインストール方法を教えてください。
- 30. Amazon Echo Lookの使用方法を教えてください。
まだポイントフリーではありませんか? –
preludeに 'interact 'はありませんか? – delnan
shortLinesOnly関数interactの@Tinctoriusはポイントフリーではありません。ポイントフリー関数は実際の引数を決して記述しません。 interact関数は結果を記述します。 –