Changes between Version 55 and Version 56 of Scala-sandbox-docs

Show
Ignore:
Timestamp:
03/21/08 00:22:04 (5 years ago)
Author:
drry (IP: 222.225.140.32)
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • Scala-sandbox-docs

    v55 v56  
    2020{{{ 
    2121val a :Int = 10 
    22 a = 20 //エラー。valで定義した変数の値を更新することはできない 
     22a = 20 // エラー。valで定義した変数の値を更新することはできない 
    2323 
    2424val a = 10 // 変数の型は省略可能 
    2525 
    2626val b:Array[Int] = Array(1, 2, 3) 
    27 b(0) = 2 //OK。変数が指しているオブジェクト(配列)の内容は更新できる 
     27b(0) = 2 // OK。変数が指しているオブジェクト(配列)の内容は更新できる 
    2828}}} 
    2929 * `var` 
    30    * `var`で定義した変数は、値を更新することができる変数になります( 
     30   * `var`で定義した変数は、値を更新することができる変数になります 
    3131     (Javaの通常の変数と同じ)。 
    3232{{{ 
    3333var a :Int = 10 
    34 a = 20 //OK。 
     34a = 20 // OK。 
    3535 
    3636var a = 10 // 変数の型は省略可能 
     
    7070     の型名の後に*を付けることで、その引数が可変長引数になります。メソッド内部 
    7171     での可変長引数の扱いは配列と似ていますが微妙に違うので、配列を受け取るメソッド 
    72      などに可変長引数を渡したい場合、toArrayメソッドを使用しましょう。 
     72     などに可変長引数を渡したい場合、`toArray`メソッドを使用しましょう。 
    7373{{{ 
    7474def printAll(xs :Int*) { 
     
    8080}}} 
    8181 * 可変長引数を取るメソッドに配列などのオブジェクトを展開した要素を渡したい 
    82    * 可変長引数を取るメソッドの実引数の後ろに:_*を付けることで可能です。 
     82   * 可変長引数を取るメソッドの実引数の後ろに`:_*`を付けることで可能です。 
    8383{{{ 
    8484def printAll(xs :Int*) { 
     
    9191 * 「可変長引数を引数に取る関数」の型を記述したい 
    9292   * {{{val f :Int* => Unit = ...}}}だと構文エラーになります。 
    93      {{{val f :(Int*) => Unit = ...}}}のように、可変長引数の型を()でくくってください。 
    94  
     93     {{{val f :(Int*) => Unit = ...}}}のように、可変長引数の型を丸括弧でくくってください。 
    9594 * 注意:可変長引数を持つ関数のオーバロードには注意が必要 
    96    * 可変長引数は、内部的にscala.Seqに変換される。よって、例えば以下のように引数の型が違う様に見えても、内部的には同じtest(scala.Seq)になってしまうため、コンパイル出来ない。 
     95   * 可変長引数は、内部的に`scala.Seq`に変換される。よって、例えば以下のように引数の型が違う様に見えても、内部的には同じ`test(scala.Seq)`になってしまうため、コンパイル出来ない。 
    9796{{{ 
    9897def test(i:Int*   ) = "hoge" 
     
    106105 
    107106 * Scalaの`for`文はJavaの`for`文と違うようですが 
    108   * Scalaの`for`文はJavaの`for`文とは意味がかなり違いますが,ほぼおなじ事ができます 
     107  * 確かに意味はかなり違いますが,ほぼおなじ事ができます 
    109108{{{ 
    110109Java:  for(int i = 0; i < 10; i++) { ... } 
     
    156155Thread.`yield`() 
    157156}}} 
    158  * i1 & i2 != 0がコンパイルエラーになる 
    159   * Javaと演算子の優先順位が違っているためです。括弧を使って(i1 & i2) != 0 
     157 * `i1 & i2 != 0`がコンパイルエラーになる 
     158  * Javaと演算子の優先順位が違っているためです。括弧を使って`(i1 & i2) != 0` 
    160159    とすることでコンパイルが通るようになります。 
    161160 
     
    173172  * [http://www29.atwiki.jp/tmiya/pages/11.html A Scala Tutorial for Java Programmer の和訳] 
    174173  * [http://technohippy.developer.drecom.jp/blog/articles/289 Scalaアクター -- ショートチュートリアルの和訳] 
     174 
    175175 3. ライブラリ 
    176176  * [http://lamp.epfl.ch/~phaller/actors.html Scala Actors]:Actor関連