[セミナー] 第一回 Scala会議 ログ

 セミナー  [セミナー] 第一回 Scala会議 ログ はコメントを受け付けていません。
8月 312011
 

■セミナー概要
第一回 Scala会議 – [PARTAKE]
http://partake.in/events/a3a19044-aa0a-4946-b708-45daa8f74718

■Togetter
Togetter – 「20110828_第一回 Scala会議(#scala_kaigi )」
http://togetter.com/li/180397

■USTREAM
USTREAM: scala_kaigi: .
http://www.ustream.tv/channel/scala-kaigi

■各スライド ※公開されているもの
○開催の経緯とアンケート結果発表 @j5ik2o
第一回Scala会議
http://www.slideshare.net/j5ik2o/scala-9039767

○sbt徹底解説 @xuwei_k
scala-kaigi1-sbt
http://www.slideshare.net/KenjiYoshida/scalakaigi1sbt

○UnfilteredとかFinagleの話。そしてScalaの闇について @yuroyoro
20110828_ScalaConf01_introducing_Unfiltered_and_Finagle
http://dl.dropbox.com/u/261418/20110828_scalaconf01_introducing_unfiltered_and_finagle/index.html

○とあるWeb系企業にScalaを導入させてみた ~その傾向と対策~ @a_yamada24
とあるWeb系企業にscalaを導入させてみた
http://www.slideshare.net/a_yamada24/webscala-9040704

○scalaz.effectsの話 @halcat0x15a
Scalaz effects
http://www.slideshare.net/SanshiroYoshida/scalaz-effects

○Twitter4JとScalaと何か @yusukey
2011 08-26-scala-kaigi
http://www.slideshare.net/yusukey/2011-0826scalakaigi

○CleanerがScalaでStack言語を書いてみて @oskimura
Cleaner scala stack
http://www.slideshare.net/oskimura/cleaner-scala-stack

○ScalaからGPUを使ってみる ScalaCLとか @chimerast
ScalaCL in ScalaKaigi
http://www.slideshare.net/chimerast/scalacl-in-scalakaigi

■参考資料
「モナドは象だ(Monads are Elephants)」日本語訳 — Japanese Translation of Monads are Elephants v1.0 documentation
http://dl.dropbox.com/u/261418/Monads_are_Elephants/index.html

[Scala] csv2xmlサンプル

 Scala  [Scala] csv2xmlサンプル はコメントを受け付けていません。
8月 282011
 

■csv2xml.groovy


import java.io.InputStreamReader
import au.com.bytecode.opencsv.CSVReader
import scala.collection.mutable.Queue
import scala.xml.Node
import scala.xml.PrettyPrinter

object Csv2Xml {
  def main(args: Array[String]): Unit = {
    var nodes = new Queue[Node]()
    
    var reader = new CSVReader(new InputStreamReader(System.in, "UTF-8"),',','"',' ',1)
    Iterator.continually(reader.readNext).takeWhile(_ != null).map(_.toList).foreach {
      case id :: name :: price :: _ =>  nodes += <item id={id}><name>{name}</name><price>{price}</price></item>
      case _ => 
    }
    reader.close()
    
    print((new PrettyPrinter(40,2)).format(<xml><items>{nodes}</items></xml>))
  }
}

■source.csv(UTF-8)
————————————————–
id, name, price
1, コーラ, 150
2, 葡萄酒, 980
3, 麦酒, 238

————————————————–

■実行
scala -cp opencsv-2.3.jar csv2xml.scala < source.csv

■結果(標準出力)
————————————————–
<xml>
  <items>
    <item id=”1″>
      <name>コーラ</name>
      <price>150</price>
    </item>
    <item id=”2″>
      <name>葡萄酒</name>
      <price>980</price>
    </item>
    <item id=”3″>
      <name>麦酒</name>
      <price>238</price>
    </item>
  </items>
</xml>
————————————————–