Friday, February 26, 2010

Variabel dan Type Inference di Scala

Scala mempunyai 2 tipe variable, yaitu vals dan vars. Tipe vals mirip dengan variable final di Java, yaitu tidak bisa diubah lagi jika telah ditetapkan. Tipe vars merupakan tipe variabel yang selalu bisa di-reassigned.

Tipe vals


Sesi script REPL (Read-Eval-Print-Loop) berikut ini menggambarkan sesi penggunaan vals.
scala> val name="Zaky Ahmad Aditya"
name: java.lang.String = Zaky Ahmad Aditya

scala> println(name)
Zaky Ahmad Aditya

scala> name = "Bambang Purnomosidi D. P."
<console>:5: error: reassignment to val
name = "Bambang Purnomosidi D. P."
^

scala>

Tipe vars


Sesi script REPL (Read-Eval-Print-Loop) berikut ini menggambarkan sesi penggunaan vars.
scala> var ipk = 3.86
ipk: Double = 3.86

scala> println(ipk)
3.86

scala> ipk = 3.90
ipk: Double = 3.9

scala> println(ipk)
3.9

scala>

Type Inference


Scala mempunyai kemampuan untuk type inference. artinya kemampuan untuk menentukan tipe data suatu variabel berdasarkan assignment awal. Lihat pada REPL di atas, potongan berikut ini adalah contoh dari kemampuan tersebut:

scala> var ipk = 3.86
ipk: Double = 3.86

Dengan kemampuan tersebut, scala langsung mengetahui bahwa tipe data yang di-assign ke ipk adalah tipe Double. Meskipun demikian, scala juga memungkinkan untuk menentukan tipe data pada saat assignment dengan menggunakan tanda colon (:) seperti berikut ini:

scala> var sks: Int = 21
sks: Int = 21

scala> sks = "STMIK AKAKOM"
<console>:5: error: type mismatch;
found : java.lang.String("STMIK AKAKOM")
required: Int
sks = "STMIK AKAKOM"
^

scala>

0 comments:

Post a Comment