10月 142017
 

タイトルの通り、キャメルケースの分割(split)をします。実装はC#。

正規表現で頑張る方法もあるようですが、ちょっとややこしいのとパフォーマンス的に嬉しくないことは容易に想像できるので、愚直な方法で実装します。

厳密なキャメルケースであれば、IDのような単語は、idやIdとなると思いますが、そのままIDと書くこともあるため、そのパターンにも対応します。スネークケースとの混用も対応します。先頭と末尾のアンダースコアは無視します。

例えば、_abcFOOBar123_456hoge__HOGE_ならばabcFOOBar123456hogeHOGEに分割します。

Continue reading »

10月 132017
 

(2017/11/20 「参照としてのスライス」説を追加、Span構造体について言及)

スライス(slice)とは、列(sequence)から部分列(subsequence)を取り出す操作のことを呼ぶもの、とここでは定義しておきます。

スライスは色んな言語に実装されている機能で、特に文字列(string)から部分文字列(substring)を得る機能を実装している言語は多いでしょう。文字列に限定しないときスライスという言葉が用いられている気がします。どこ由来なのか知らないため定義もわかりません。

C#にもそれっぽい機能はありますが、ちょっと使いにくいので、Pythonのスライスに近い機能を実装してみます。

Continue reading »

10月 032017
 

(2017/10/08 機能拡張版を書きました)

Pythonスクリプトによってプレイリストファイル(m3u/m3u8)を自動生成する話です。自分がすぐに使えるよう、Pythonと正規表現でサクッと作りましたが、そういった技術的要素が理解できないと利用は厳しいことは先に言っておきます。

Continue reading »

Top