今日のScalazです。StringWトレイトで定義されている便利メソッドを試してみました。
まず、変換用のメソッドとして以下のようなメソッドが追加されます。使い方は昨日のエントリを参照してください。
- parseBoolean
- parseByte
- parseShort
- parseInt
- parseLong
- parseFloat
- parseDouble
ファイルを読み込むためのメソッドも追加されます。
val content: String = "build.sbt".readFile[String]( "", { (str, byte) => str + byte.toChar })
readFileメソッドはともかく、readLinesメソッドのほうは戻り値がないし、改行も区別されない(改行コードがCRLFの場合、改行時に呼び出されるコールバック関数が二回呼び出される)ので何に使うのかよくわかりません。
XML要素を作るメソッドもあります。うーん、使うかなぁ…。
val node: xml.Node = "label" |:| Some("value") // => <label>value</label>
単数形を複数形に変えるメソッドも。でも別に辞書を持っているわけではなくて機械的にsやiesを付けたりしてるだけ。
println("user".plural(1)) // => user println("user".plural(2)) // => users
StringWトレイトには他にも文字列をNonEmptyList[Char]に変換するメソッドなどが定義されていますが、このエントリで紹介しているものも含め、正直無理して使わなくてもいいかなぁ、と感じました。
明日は他のトレイトも見てみます。
ところでいまさら気づいたのですが、NelっていうのはNonEmptyListの略なんですね…。