Stringに追加される便利メソッド

今日の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の略なんですね…。