| ページ一覧 | ブログ | twitter |  書式 | 書式(表) |

MyMemoWiki

差分

ナビゲーションに移動 検索に移動
編集の要約なし
==Scala Javaプログラマ向けチュートリアル==
[[Scala]]
*http://docs.scala-lang.org/tutorials/scala-for-java-programmers.html
*メソッドの引数が、1つの場合 挿入記法(infix syntax)を利用できる
<&lt;blockquote>&gt;df format now<&lt;/blockquote>&gt;
*冗長にも書ける
<&lt;blockquote>&gt;df.format(now)<&lt;/blockquote>&gt;
==すべてオブジェクト==
*Javaとことなり、数値や関数もオブジェクト
===数値もオブジェクト===
*以下のような計算式を
scala> &gt; val x = 2
x: Int = 2
scala> &gt; 1 + 2 * 3 / x
res1: Int = 4
*メソッドの呼び出しとしても書くことが出来る
scala> &gt; (1).+(((2).*(3))./(x))
res2: Int = 4
object Timer {
def oncePerSecond(callback: () => &gt; Unit) {
while(true) {
callback(); Thread sleep 1000
*これらは不要に思われる
*Scalaでは、無名関数を利用することが出来る
*=> &gt; は関数の引数リストとボディを分ける*この例では、=>&gt;の左側の括弧に引数リストは無い
object Timer {
def oncePerSecond(callback: () => &gt; Unit) {
while(true) {
callback(); Thread sleep 1000
def main(args: Array[String]) {
oncePerSecond(
() => &gt; println("time flies like an arrow..."))
}
}

案内メニュー