文章の中で特定の単語を数えることができるような関数を書くようになりましたが、今はリスト内の単語の長さを数える必要があります。だから私は各要素が単語であり、この単語の文字を数えたいと思うリストを持っています。 ハスケルはループを使用していないので、私はそれを行うための解決策を見つけることができませんでした。これを行うためにとにかくありますか?Haskellのリスト内の単語の長さを取得する
答えて
ハスケルで作業するときにループが必要だと思うなら、おそらく再帰を探しているでしょう。文字列のリストを再帰し、それぞれにlength
関数を適用したいと思うでしょう。関数は(あなたがHaskellのを介して動作として非常に精通になるでしょう)の各値に適用されるリストを再帰の一般的なパターンは、おおよそ次のようになります。
func f [] = []
func f (x:xs) = f x : func f xs
だから我々はその問題を解決できます方法(機能を特化した、というよりも、それを引数として受け入れることは):この動作は非常に一般的ですので、
wordLengths :: [String] -> [Int]
wordLengths [] = []
wordLengths (x:xs) = length x : wordLengths xs
しかし、私たちのためにこのすべての世話をする機能map
が存在します。その型シグネチャは(a -> b) -> [a] -> [b]
なので、関数(length
)と物のリスト(String
s)を渡すことがわかっています。私たちは、文字列のリスト内の各値にlength
機能をmap
場合、我々はあなたの望ましい結果を得るでしょう:
wordLengths :: [String] -> [Int]
wordLengths = map length
使用例:
ghci>> wordLengths ["abc","defg"]
[3,4]
まず、非常に良い説明に感謝します!しかし、それを使用しようとしている間、私は 'variable in scope:wordLengths :: [String] - > [Int]' –
というエラーだけを得るでしょう。これを 'ghci'に直接入力しようとしていると思いますか?私がインクルードした関数定義は、Haskellのソースファイルに書かれています。拡張子 '.hs'をつけてファイルに貼り付け、端末の' ghci fileName.hs'で読み込むことができます。 – mnoronha
それは私がやったことだと思います。私は* .hsファイルを書いてこれに加えました。だから私はHaskell自身のソースファイルを "変更"しなければならないのですか? HA.hsファイル全体を追加しました。 –
- 1. 単語のリストから最長の単語を取得
- 2. 単語リストから特定の長さのランダムな単語を取得
- 3. Haskellで各単語の長さの単語のグループを印刷するには
- 4. 文章内の単語、単語の長さ、単語の長さ、全文の長さ
- 5. リストのフレーズの単語の長さを測定する方法
- 6. 取得リスト値の長さ
- 7. 構造体リスト内の単語を検索し、すべての単語を後置式で取得する
- 8. テキストファイル内の特定の単語の前後の単語を取得する
- 9. Pythonの単語の長さ
- 10. 文章から単語の長さの配列を取得する-javascript
- 11. Spark(python)で長さ別の単語の数を取得する方法は?
- 12. Haskell - リストのリストからn個のリストを取得する
- 13. jinja2テンプレート内のリストの長さを取得
- 14. Prolog:合計X音節の単語のリストを取得する
- 15. 特定の単語のリストを取得するには?
- 16. Haskellリスト内のリスト
- 17. 単語内の最長の文字列
- 18. HaskellのQuickCheckで特定の長さのリストを生成する
- 19. openRefine上の単語リストからURLを取得する
- 20. R:ddply内のサブセットの長さを取得
- 21. テキストボックス(JavaScript)内でクリックされた単語の位置を取得
- 22. ファイル内の単語の長さを数えて
- 23. Haskellのリストのリスト内で内側のリストを分割する
- 24. 制御語長のテキストファイルから単語リストを読む
- 25. haskellの単純な単語数
- 26. Hadoop Mapleduceで最大の単語を取得する単語数
- 27. 単語の範囲内で単語ではない単語をどのように取得できますか?
- 28. 単語リストのテキスト "x"のインスタンス数を取得
- 29. 単語の文脈を取得する
- 30. リンクされたリストの長さを取得する
は、あなたが持っているショーのコードによって、より良い、この質問をしたことができますすでに完了しました。また、haskellの質問では、あなたの欲求の出力のタイプシグネチャを含めるのに役立ちます。 – wizzup