recipe-collection
recipe-collection copied to clipboard
文字列の初期コンテンツを作る。
- [ ] 文字コードを推測する
- [ ] 文字列を反復する
- [ ] 文字列の長さを得る
- [ ] 文字列を検索する
- [ ] 正規表現が文字列の先頭・末尾にマッチするか調べる
- [ ] 単語にマッチさせる
- [ ] 特定の文字コードで正規表現マッチを行う
- [ ] 正規表現のドットに改行をマッチさせる
- [ ] 前回マッチした部分の続きからマッチさせる
- [ ] 特定の文字・文字列の出現回数を調べる
- [ ] 文字の出現頻度を調べる
- [ ] 文字列を比較する
- [ ] 空白にマッチさせる
- [ ] 文字列が空行か調べる
- [ ] 数値を表す文字列か調べる
- [ ] 文字列を数値に変換する
- [x] 文字が大文字か小文字かを調べる
- [ ] 文字を大文字・小文字に変換する
- [ ] 文字列の一部を取り出す
- [ ] 正規表現にマッチした部分を取り出す
- [ ] 正規表現にマッチした部分の前後の文字列を取り出す
- [ ] 文字列を行に分ける
- [ ] 文字列を単語に分ける
- [ ] 正規表現で文字列を分割する
- [ ] 文字列を連結する
- [ ] 文字列の一部を置換する
- [ ] 文字列の一部を取り除く
- [ ] 行末の改行文字を取り除く
- [x] 文字列の先頭・末尾から空白を取り除く
- [x] タブと半角空白文字を変換する
- [ ] インデントを変更する
- [ ] ヒアドキュメントを使う
- [ ] 文字列の末尾に文字列を追加する
- [ ] 文字と文字コードを相互変換する
- [ ] 文字列をn文字ずつに分割する
- [ ] 文字列を最大nバイトに切り詰める
- [ ] 文字列を最大n文字に切り詰める
- [ ] 文字列の一部を特定の文字で埋める
- [ ] メッセージダイジェストを作成する
- [ ] 文字列が複数の正規表現のすべてにマッチするか調べる
- [ ] いろいろなテキストフォーマットを解析する
- [ ] CSVを処理する
- [ ] XMLを解析する
- [ ] YAMLを解析する
- [ ] HTMLを処理する
文字列に関するレシピをすこしずつ書こうと思うのですが、 私の個人的な感覚としては、
- 項目が大きすぎて具体的にどのような場面で何が欲しくなるのかが想像しにくい
- ミュータブルなデータの扱いを想起させないように命令風の表現を宣言風に変えたい
ものがあるのですが、個別に議論のissueをopenしたほうがいいでしょうか。
項目が大きすぎて具体的にどのような場面で何が欲しくなるのかが想像しにくい
そうですね・・・ 例えばこの項目は大きすぎる、とかありますでしょうか? 大きすぎると思われる項目がどれくらいあるか、が知りたいです。
ミュータブルなデータの扱いを想起させないように命令風の表現を宣言風に変えたい
これはその通りですね。 こちらは issue を立てるまでもなく、表現を変えてしまってよいです。 ファイル名とタイトルも適宜変えてください。
たとえば、
- 「〜にマッチする」は、照合して何を得たいのかがわかりません。
- 「〜を処理する」は、処理して何を得たいのかがわかりません。
「〜にマッチする」は、照合して何を得たいのかがわかりません。
これは元ネタ(ruby)特有の事情かもしれないですね。 ruby では「マッチする」は以下のような情報が得られる、というのとほぼ同じ意味で使われている感があります。
- マッチしたかどうか(Bool)
- マッチした内容(String)
- マッチした場所(Int)
タイトルから何を得たいのかがわかるものは、それをもとにして書けばよいかと思います。 複数の用途が考えられる場合は、それらをカバーしてあげるとよいのではないでしょうか。
「〜を処理する」は、処理して何を得たいのかがわかりません。
このふたつですね。
- CSVを処理する
- HTMLを処理する
CSV の方は入出力でしょうね。 ファイルからの読み込みとファイルへの書き出しができればよいと思います。 ファイルの扱いそのものは IO の方でやってますので入出力自体はそちらに任せて、何らかの内部表現と CSV 文字列表現の変換方法を示すのでもよいかと思います。
HTML の方も入出力になるかと思いますが・・・ こちらは話が大きくなりそうですね。 ライブラリーの紹介にとどめてもよいかと思います。
ありがとうございます。 「マッチする」「処理する」「解析する」については、見出しをより具体的な説明になるようにします。