普通のScalaアプリケーションをebuildでdeployする

会社ではほとんどのアプリケーションをScalaで開発しさくらのクラウドやハウジング環境で運用しているのですが、どんな言語で開発するにせよどのような環境で運用するにせよ、当然ながらアプリケーションはdeployする必要があります。

rbenvがすばらしすぎるので Scala, sbt, PlayFramework 版をつくってみた

Scala, sbt, Play Framework を使っていると、プロジェクトによって異なるバージョンが必要になることがある。Ruby には rbenv というすばらしいツールがあるので、同じ仕組みで Scala エコシステム向けのバージョン管理ツールを作ってみた。

ローカル関数便利♪

Scalaのローカル関数(ネストされた関数)を試してみました。

def func1(s1:String):String={
  def func2(s2:String):String={
    def func3(s3:String):String={
      return s3+"3"
    }
    return func3(s2+"2")
  }
  return func2(s1+"1")
}

実行結果:

scala> def func1(s1:String):String={
     |   def func2(s2:String):String={
     |     def func3(s3:String):String={
     |       return s3+"3"
     |     }
     |     return func3(s2+"2")
     |   }
     |   return func2(s1+"1")
     | }
func1: (String)String

scala> println(func1("hoge"))
hoge123