Unduh PDF
1) Jelaskan apa itu Scala?
Scala adalah pemrograman fungsional objek dan bahasa skrip untuk aplikasi perangkat lunak umum yang dirancang untuk mengekspresikan solusi secara ringkas.
2) Apa itu 'set Scala'? Apa metode melalui set operasi yang diekspresikan?
Scala set adalah kumpulan elemen berpasangan dengan tipe yang sama. Set Scala tidak mengandung elemen duplikat. Ada dua jenis set, bisa berubah dan tidak bisa diubah.
3) Apa itu 'peta Scala'?
Peta skala adalah kumpulan pasangan kunci atau nilai. Berdasarkan kuncinya, nilai apa pun dapat diambil. Nilai tidak unik tetapi kuncinya unik di Peta.
4) Apa keuntungan dari Scala?
- Lebih sedikit gaya fungsional yang rentan terhadap kesalahan
- Perawatan dan produktivitas yang tinggi
- Skalabilitas tinggi
- Testabilitas tinggi
- Menyediakan fitur pemrograman bersamaan
5) Dalam hal apa Scala lebih baik dari bahasa pemrograman lainnya?
- Array menggunakan generik biasa, sementara dalam bahasa lain, generik dilesatkan sebagai renungan dan benar-benar terpisah tetapi memiliki perilaku yang tumpang tindih dengan array.
- Scala memiliki "val" yang tidak dapat diubah sebagai fitur bahasa kelas satu. "Val" dari skala mirip dengan variabel akhir Java. Konten dapat bermutasi tetapi referensi teratas tidak dapat diubah.
- Scala memungkinkan 'jika blok', 'loop untuk hasil', dan 'kode' di dalam kurung kurawal untuk mengembalikan nilai. Ini lebih disukai, dan menghilangkan kebutuhan akan operator terner terpisah.
- Singleton memiliki objek tunggal daripada statis C ++ / Java / C # klasik. Ini adalah solusi yang lebih bersih
- Koleksi tetap yang tidak berubah adalah default dan dibangun ke dalam perpustakaan standar.
- Ini memiliki tupel asli dan kode yang ringkas
- Tidak ada kode pelat boiler
6) Apa saja variabel Scala?
Nilai dan variabel adalah dua bentuk yang ada di Scala. Variabel nilai konstan dan tidak dapat diubah setelah ditetapkan. Itu tidak dapat diubah, sedangkan variabel biasa, di sisi lain, dapat berubah, dan Anda dapat mengubah nilainya.
Kedua jenis variabel tersebut adalah
var myVar: Int = 0;
val myVal: Int = 1;
7) Sebutkan perbedaan antara objek dan kelas?
Kelas adalah definisi untuk deskripsi. Ini mendefinisikan tipe dalam hal metode dan komposisi tipe lainnya. Kelas adalah cetak biru dari objek tersebut. Sedangkan objek adalah singleton, sebuah instance dari kelas yang unik. Kelas anonim dibuat untuk setiap objek dalam kode, itu mewarisi dari kelas apa pun yang Anda deklarasikan objek untuk diimplementasikan.
8) Apa itu ekor rekursi dalam skala?
'Rekursi' adalah fungsi yang memanggil dirinya sendiri. Fungsi yang memanggil dirinya sendiri, misalnya, fungsi 'A' memanggil fungsi 'B', yang memanggil fungsi 'C'. Ini adalah teknik yang sering digunakan dalam pemrograman fungsional. Agar rekursif ekor, panggilan kembali ke fungsi harus menjadi fungsi terakhir yang akan dilakukan.
9) Apa yang dimaksud dengan 'sifat skala' dalam skala?
'Sifat' digunakan untuk menentukan jenis objek yang ditentukan oleh tanda tangan metode yang didukung. Scala memungkinkan untuk diimplementasikan sebagian tetapi ciri-ciri mungkin tidak memiliki parameter konstruktor. Sebuah sifat terdiri dari definisi metode dan bidang, dengan mencampurkannya ke dalam kelas dapat digunakan kembali.
10) Kapan Anda bisa menggunakan ciri-ciri?
Tidak ada aturan khusus kapan Anda dapat menggunakan sifat, tetapi ada pedoman yang dapat Anda pertimbangkan.
- Jika tingkah laku tidak akan digunakan kembali, buatlah itu menjadi kelas yang konkret. Bagaimanapun itu bukan perilaku yang dapat digunakan kembali.
- Untuk mewarisinya dalam kode Java, kelas abstrak dapat digunakan.
- Jika efisiensi adalah prioritas maka condong ke arah penggunaan kelas
- Jadikan itu ciri jika dapat digunakan kembali di banyak kelas dan tidak terkait. Di bagian berbeda dari hierarki kelas, hanya sifat yang dapat dicampur menjadi beberapa bagian.
- Anda dapat menggunakan kelas abstrak, jika Anda ingin mendistribusikannya dalam bentuk terkompilasi dan mengharapkan grup luar untuk menulis kelas yang mewarisi darinya.
11) Apa itu Kelas Kasus?
Kelas kasus menyediakan mekanisme dekomposisi rekursif melalui pencocokan pola, ini adalah kelas reguler yang mengekspor parameter konstruktornya. Parameter konstruktor dari kelas kasus dapat diakses secara langsung dan diperlakukan sebagai nilai publik.
12) Apa gunanya tupel dalam scala?
Scala tuple menggabungkan sejumlah item tetap bersama-sama sehingga mereka dapat diedarkan secara keseluruhan. Tuple tidak dapat diubah dan dapat menampung objek dengan tipe berbeda, tidak seperti array atau daftar.
13) Apa fungsi kari di Scala?
Currying adalah teknik mengubah fungsi yang mengambil banyak argumen menjadi fungsi yang mengambil satu argumen. Banyak teknik yang sama seperti bahasa seperti Haskell dan LISP didukung oleh Scala. Fungsi kari adalah salah satu yang paling jarang digunakan dan disalahpahami.
14) Apa saja parameter implisit di Scala?
Parameter implisit adalah cara yang memungkinkan parameter metode untuk "ditemukan". Ini mirip dengan parameter default, tetapi memiliki mekanisme berbeda untuk menemukan nilai "default". Parameter implisit adalah parameter untuk metode atau konstruktor yang ditandai sebagai implisit. Ini berarti jika nilai parameter tidak disebutkan maka compiler akan mencari nilai "implisit" yang didefinisikan dalam suatu cakupan.
15) Apa yang dimaksud dengan closure di Scala?
Penutupan adalah fungsi yang nilai kembaliannya bergantung pada nilai variabel yang dideklarasikan di luar fungsi.
16) Apa itu Monad di Scala?
Monad adalah benda yang membungkus benda lain. Anda meneruskan program mini Monad, yaitu fungsi, untuk melakukan manipulasi data dari objek yang mendasarinya, alih-alih memanipulasi objek secara langsung. Monad memilih bagaimana menerapkan program ke objek yang mendasarinya.
17) Apa itu fungsi anonim Scala?
Dalam kode sumber, fungsi anonim disebut 'literal fungsi' dan pada waktu proses, literal fungsi dibuat menjadi objek yang disebut nilai fungsi. Scala menyediakan sintaks yang relatif mudah untuk mendefinisikan fungsi anonim.
18) Jelaskan fungsi 'Scala higher order'?
Scala memungkinkan definisi fungsi orde tinggi. Ini adalah fungsi yang mengambil fungsi lain sebagai parameter, atau yang hasilnya adalah fungsi. Dalam contoh berikut, fungsi apply () mengambil fungsi lain 'f' dan nilai 'v' dan menerapkan fungsi ke v.
Contoh:
object Test {def main(args: Array[String]) {println( apply( layout, 10) )}def apply(f: Int => String, v: Int) = f(v)def layout[A](x: A) = "[" + x.toString() + "]"Ketika kode di atas dikompilasi dan dijalankan, hasilnya adalah sebagai berikut.
C:/>scalac Test.scalaC:/>scala Test[10]C:/>
19) Apa perbedaan antara var dan value?
Dalam scala, Anda dapat menentukan variabel menggunakan kata kunci a, val, atau var. Perbedaan antara val dan var adalah, var mirip dengan deklarasi java, tetapi val sedikit berbeda. Kita tidak dapat mengubah referensi untuk menunjuk ke referensi lain, setelah variabel dideklarasikan menggunakan val. Variabel yang ditentukan menggunakan kata kunci var dapat berubah dan dapat diubah beberapa kali.
20) Apakah opsi, some dan none in scala?
'Option' adalah tipe generik Scala yang bisa berupa nilai generik 'some' atau tidak sama sekali. 'Queue' sering menggunakannya untuk merepresentasikan primitif yang mungkin nihil.
21) Bagaimana cara menambahkan daftar?
Dalam skala untuk menambahkan ke dalam daftar, gunakan "
:+” single value
var myList = List.empty[String]myList :+= "a"myList :+= "b"myList :+= "c"use++ for appending a listvar myList = List.empty[String]myList ++= List("a", "b", "c")
22) Bagaimana Anda bisa memformat string?
Untuk memformat string, gunakan metode .format (), dalam scala Anda bisa menggunakan
Val diformat = "% s% i" .format (mystring.myInt)
23) Mengapa scala lebih memilih kekekalan?
Scala lebih menyukai kekekalan dalam desain dan dalam banyak kasus menggunakannya sebagai default. Kekekalan dapat membantu saat menghadapi masalah kesetaraan atau program bersamaan.
24) Apa empat jenis pengenal skala?
Empat jenis pengenal tersebut adalah
- Pengenal numerik alfa
- Pengidentifikasi operator
- Pengenal campuran
- Pengenal literal
25) Apa saja jenis literal Scala?
Jenis literal yang berbeda dalam skala adalah
- Literal bilangan bulat
- Literal titik mengambang
- Literal Boolean
- Simbol literal
- Literal karakter
- String literal
- String Multi-Line