Kotlinの文字列はisBlank()
というメソッドと、isEmpty()
というメソッドを持っています。 これらの違いについてまとめました。
「string」タグアーカイブ
Rails: 環境によって分岐するコード
Kotlin: 文字列変換 先頭を大文字・小文字に / キャメルケース・スネークケース
Kotlin で文字列を変換するコードを書きました。 今回やったのは次の4つです。
- 先頭を小文字にする
- 先頭を大文字にする
- スネークケースの文字列をキャメルケースにする
- キャメルケースの文字列をスネークケースにする
LibreOffice Calc: Basic でセルを扱う
無料で使える表計算ソフト LibreOffice Calc の Basic でセルを扱う方法を説明します。 Excel VBA だと Cell(1, 2)
のように扱えますね。
haskell split カンマ区切りの文字列をカンマで区切って配列にする方法
haskell で ruby の split や PHP の explode にあたるようなものを考えました。
背景
haskell を使ったことがなく、使う場面もなかなかないので CodeIQ で使ってみようと思ったものの、 「入力を受け取るにはどうすればいいんだ?」という疑問にぶちあたり、 split する方法を考えました。
Haskell には Data.List.Split
モジュール内 に splitOn
という関数があるのですが、 CodeIQ でコンパイルに失敗しました。 Ideone でも コンパイルに失敗しました。 ほかにも関数はあるそうなのですが、うまくいかなかったので自分で考えることにしました。
カンマで分割する方法
下のようになりました。 この方法だと カンマ でのみ区切ります。
1 2 3 4 5 6 7 8 9 10 |
split = _split [] _split ts "" = ts _split ts s = _split (ts ++ [(token s)]) (drop (length(token s) + 1) s) token = _token "" _token ys "" = ys _token ys (x:xs) = do if x == ',' then ys else _token (ys ++ [x]) xs |
任意のデリミタで分割する方法
任意のデリミタを指定できるようにしてみました。 1文字のデリミタでのみ分割可能です。
1 2 3 4 5 6 7 |
split d = _split d [] _split d cs "" = cs _split d cs s = _split d (cs ++ [token d s]) (drop (length(token d s) + 1) s) token d = _token d "" _token d t "" = t _token d t (x:xs) = if (x == d) then t else _token d (t ++ [x]) xs |