文字コードのデータを文字列に変換するプログラム

初めてScalaでちょっとしたプログラムを作ってみたところ、全然Scalaっぽくありませんでしたが、アドバイスをいただいて直したら それらしくなりました! ※変換プログラムを作ってみようと思った経緯 http://blog.goo.ne.jp/hishidama/e/b1af1458e167e55e398ffa536a48d5b9
3
Ryu Kobayashi @ryu_kobayashi

0x82,0xA8,0x82,0xC8,0x82,0xA9,0x82,0xB7,0x82,0xA2,0x82,0xBD

2010-12-14 12:38:03
tomo🐧@learning @cocoatomo

@ryu_kobayashi 0x82, 0xd0, 0x82, 0xe9, 0x82, 0xdf, 0x82, 0xb5, 0x82, 0xdc, 0x82, 0xbe, 0x82, 0xc8, 0x82, 0xf1, 0x82, 0xb7, 0x82, 0xa9, 0x3f

2010-12-14 12:43:44
豊月 @yutuki_r

なんか俺のTLが文字化けし始めた。若干2名ほどのTL

2010-12-14 12:44:45
豊月 @yutuki_r

どこと言われても。

2010-12-14 12:56:51
ひしだま @hishidama

def f(xs:Int*) = { val b = new scala.collection.mutable.ListBuffer[Byte]; for (x <- xs) b += x.toByte; new String(b.toArray, "MS932") }

2010-12-14 23:29:38
ひしだま @hishidama

f(0x82,0xA8,0x82,0xC8,0x82,0xA9,0x82,0xB7,0x82,0xA2,0x82,0xBD) .

2010-12-14 23:29:46
ひしだま @hishidama

一応動くけど、ちっともScalaっぽくないなぁ…

2010-12-14 23:30:03
Tatsuya Kawano @tatsuya6502

@hishidama ListBufferを使わず、for を map に変えるといいかも。

2010-12-14 23:38:56
ひしだま @hishidama

.@tatsuya6502 おおっ、ありがとうございます! def f(xs:Int*) = new String(xs.map(_.toByte).toArray, "MS932")

2010-12-14 23:43:59
Tatsuya Kawano @tatsuya6502

@hishidama おー、すっきりしましたね!

2010-12-14 23:52:50