Scala では変数定義には必ず、頭に var もしくは val をつける必要がある。
省略した場合には以下のようなエラーが出る。ここらへん色々突っ込みもらった。ありがとう。 var だの val だのを書くのになれてないと、not found: value をよく見かける。
scala> hoge = 1
<console>:10: error: not found: value hoge
ソフトウェア技術者としてhttp://anond.hatelabo.jp/20130528173442 に反論してみる
ソフトウェア技術者で、もしExcel方眼紙を恥だという意識が無い人は技術者としては、センス悪いと思う。それを踏まえた上で「必要悪」として運用する人はまぁ仕方ないと思う。
| $ cd /usr/local | |
| $ tar zxvf scala-2.10.2.tgz | |
| $ ln -s scala-2.10.2 scala |
http://svn.apache.org/repos/asf/poi/trunk/src/examples/src/org/apache/poi/xssf/eventusermodel/examples/FromHowTo.java を参考に Scala に移植をしてみたら…
[info] Updating {file:/home/vagrant/test-excel/}test-excel...
[info] Done updating.
[info] Compiling 5 Scala sources and 1 Java source to /home/vagrant/test-excel/target/scala-2.10/classes...
[warn] Class org.openxmlformats.schemas.spreadsheetml.x2006.main.CTPhoneticRun not found - continuing with a stub.
[error] error while loading CTRst, class file '/usr/local/play-2.1.1/repository/cache/org.apache.poi/poi-ooxml-schemas/jars/poi-ooxml-schemas-3.9.jar(org/openxmlformats/schemas/spreadsheetml/x2006/main/CTRst.class)' is broken
[error] (class java.lang.NullPointerException/)
[warn] one warning found
例えば /([^:]+):[\s]+(.+)/ の正規表現の () の中の文字列二つを引っ張ってきて何かする場合、Ruby なら
if /([^:]+):[\s]+(.+)/ =~ line
puts $1
puts $2
end
みたいな書き方をするというか、LLなスクリプト言語だとこういう手軽な書き方がある。Scala ではどういう風に書けばいいのか
| package controllers | |
| import play.api._ | |
| import play.api.mvc._ | |
| object Application extends Controller { | |
| def index = Action { | |
| SimpleResult( | |
| header = ResponseHeader(200, Map(CONTENT_TYPE -> "image/jpeg")), |
| resolvers += "ClouderaRepo" at "https://repository.cloudera.com/content/repositories/releases" | |
| resolvers += "ClouderaArtistctory" at "https://repository.cloudera.com/artifactory/cloudera-repos/" | |
| libraryDependencies ++= Seq( | |
| "org.apache.hadoop" % "hadoop-core" % "0.20.2-cdh3u6" | |
| ) |
| package main | |
| /* | |
| #cgo CFLAGS: -I../mruby/include | |
| #cgo LDFLAGS: -L../mruby/build/host/lib -lmruby -lm | |
| #include <mruby.h> | |
| #include <mruby/compile.h> | |
| */ |