Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

コレクションの初期コンテンツを作る。 #3

Open
41 of 47 tasks
kayhide opened this issue Apr 2, 2017 · 7 comments
Open
41 of 47 tasks

コレクションの初期コンテンツを作る。 #3

kayhide opened this issue Apr 2, 2017 · 7 comments
Assignees

Comments

@kayhide
Copy link
Contributor

kayhide commented Apr 2, 2017

  • リストを作成する
  • リストの全要素を順に処理する
  • リストの内容を表示する
  • 多次元リストを扱う
  • 複数のリストを並行処理する
  • リストの要素を取得する
  • リストの要素を変更する
  • リストの要素を削除する
  • リストの先頭・末尾に要素を追加する
  • リストの先頭・末尾の要素を取り除く
  • リストの要素を置換する
  • リストの要素をランダムに取得する
  • リストの要素数を調べる
  • リストの要素の出現回数を調べる
  • リストから複数の要素を一度に取得する
  • リストのインデックスと要素のペアを取得する
  • リストの要素を同じ値で埋める
  • リストから重複する要素を取り除く
  • リストから条件を満たす要素を取得する
  • リストの要素を検索する
  • 2つのリストに共通する要素を調べる
  • 2つのリストの差を取る
  • リストを連結する
  • リストの要素の順序を逆転する
  • 一定範囲の整数を要素とするリストを作成する
  • リストの要素の中から条件に合う要素があるか調べる
  • リストの先頭の要素を取得する
  • リストの順列・組み合わせを取得する
  • リストの要素を条件に基づいて分割する
  • リストをソートする
  • リストを連結して文字列にする
  • リストをバイナリサーチする
  • ハッシュマップを使う
  • マップを作成する
  • マップの全要素を順に処理する
  • マップの内容を表示する
  • マップに要素を追加する
  • マップ内にキーが存在するか調べる
  • マップの要素を削除する
  • 1つのキーに複数の値が対応するマップを作る
  • マップのキーと値を入れ替える
  • マップをソートする
  • マップをマージする
  • 2つのマップの両方にあるキー・一方にしかないキーを見つける
  • 巨大で疎なリストを使う
  • スタックを使う
  • キューを使う
@kayhide
Copy link
Contributor Author

kayhide commented Apr 8, 2017

  • リストの全要素を順に処理する
  • マップの全要素を順に処理する

のふたつは、いわゆる手続き的なループ処理のことでした。
直接対応する機能がないので除外します。

@YoshikuniJujo
Copy link
Collaborator

mapM(mapM_)とかfor(for_)あたりでできるので、入れておいても良い気がしますが。

@kayhide
Copy link
Contributor Author

kayhide commented Apr 9, 2017

確かにそのあたりはやりたいことが近いような感はありますね。

ただ、手続き的なループよりもできることが限定されるので、もっと具体的な項目として挙げるのがよいかな、と思います。
全ての要素を表示する、や、全ての要素を置換する、など。

@kayhide
Copy link
Contributor Author

kayhide commented Apr 9, 2017

「全要素を順に処理する」にも、写像、畳込み、副作用、フィルターなど、様々な目的があるので、そういった概要説明と関連項目へのリンクをまとめた項目にしてもよいかな。

@YoshikuniJujo
Copy link
Collaborator

なるほど、わかりました。

@kayhide kayhide self-assigned this May 1, 2017
@ncaq
Copy link

ncaq commented May 18, 2017

リストの内容を表示する

についてですが,HaskellではputStrLnという文字表示IOとshowという文字列化関数ははっきり分かれていて,C++のようにはなっていないので,print'を定義するよりshow'を定義してputStrLn . show'するほうがHaskell的だと思いますがいかがでしょうか

@kayhide
Copy link
Contributor Author

kayhide commented May 18, 2017

@ncaq そうですね、それでもよいと思います。

このサンプルでは、mapM_で IO アクションを繰り返し適用する、という趣旨ですのでIO ()を返す関数を定義しました。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants