Pertanyaan yang diberi tag «scala»

Scala adalah bahasa pemrograman serba guna terutama yang menargetkan Java Virtual Machine. Dirancang untuk mengekspresikan pola pemrograman umum dalam cara yang ringkas, elegan, dan jenis-aman, ia memadukan gaya pemrograman imperatif dan fungsional. Fitur utamanya adalah: sistem tipe statis lanjut dengan inferensi tipe; jenis fungsi; pencocokan pola; parameter dan konversi implisit; kelebihan operator; interoperabilitas penuh dengan Java; konkurensi




3
Konvensi penamaan untuk konstanta Scala?
Apa konvensi penamaan untuk konstanta Scala? Pencarian singkat di StackOverflow menyarankan CamelCase huruf besar (baris pertama di bawah), tetapi saya ingin memeriksa ulang. val ThisIsAConstant = 1.23 val THIS_IS_ANOTHER_CONSTANT = 1.55 val thisIsAThirdConstant = 1.94 Gaya Scala mana yang direkomendasikan?


9
Membuat objek yang besar dan tidak dapat diubah tanpa menggunakan konstruktor yang memiliki daftar parameter yang panjang
Saya memiliki beberapa objek besar (lebih dari 3 bidang) yang dapat dan harus tetap. Setiap kali saya mengalami kasus itu saya cenderung membuat kekejian konstruktor dengan daftar parameter yang panjang. Rasanya tidak benar, sulit digunakan, dan sulit dibaca. Lebih buruk lagi jika bidang adalah semacam jenis koleksi seperti daftar. Sederhana …
96 java  oop  scala  immutability 

3
Kata kunci "baru" di Scala
Saya punya pertanyaan yang sangat sederhana - kapan kita harus menerapkan kata kunci baru saat membuat objek di Scala? Apakah ketika kita mencoba untuk membuat contoh objek Java saja?

6
Apa yang dimaksud dengan “abstract over”?
Seringkali dalam literatur Scala, saya menemukan frase "abstrak berakhir", tetapi saya tidak mengerti maksudnya. Misalnya , tulis Martin Odersky Anda dapat mengirimkan metode (atau "fungsi") sebagai parameter, atau Anda dapat mengabstraksikannya . Anda dapat menentukan tipe sebagai parameter, atau Anda dapat mengabstraksikannya . Sebagai contoh lain, dalam makalah "Menghentikan Pola …

8
Penggunaan Null / Nothing / Unit di Scala
Saya baru saja membaca: http://oldfashionedsoftware.com/2008/08/20/a-post-about-nothing/ Sejauh yang saya mengerti, itu Nulladalah sifat dan satu-satunya contoh adalah null. Ketika sebuah metode mengambil argumen Null, maka kita hanya dapat meneruskannya sebagai Nullreferensi atau nullsecara langsung, tetapi tidak untuk referensi lain, meskipun nilainya null ( nullString: String = nullmisalnya). Saya hanya ingin tahu …
95 scala 

1
Bagaimana cara kerja tipe Dynamic dan bagaimana cara menggunakannya?
Saya mendengar bahwa dengan Dynamicitu entah bagaimana mungkin untuk melakukan pengetikan dinamis dalam Scala. Tapi saya tidak bisa membayangkan bagaimana tampilannya atau bagaimana cara kerjanya. Saya menemukan bahwa seseorang dapat mewarisi dari sifat Dynamic class DynImpl extends Dynamic The API mengatakan bahwa salah satu dapat menggunakannya seperti ini: foo.method ("blah") …
95 scala 

3
Bagaimana cara yang benar untuk mendapatkan subarray di Scala?
Saya mencoba untuk mendapatkan subarray dalam skala, dan saya sedikit bingung tentang cara yang tepat untuk melakukannya. Yang paling saya inginkan adalah sesuatu seperti bagaimana Anda bisa melakukannya dengan python: x = [3, 2, 1] x[0:2] tetapi saya cukup yakin Anda tidak dapat melakukan ini. Cara paling jelas untuk melakukannya …

5
scala tuple membongkar
Saya tahu pertanyaan ini sering muncul dengan cara yang berbeda. Tapi masih belum jelas bagi saya. Apakah ada cara untuk mencapai hal berikut. def foo(a:Int, b:Int) = {} foo(a,b) //right way to invoke foo foo(getParams) // is there a way to get this working without explicitly unpacking the tuple?? def …



5
Operator Ternary Mirip Dengan?:
Saya mencoba menghindari konstruksi seperti ini: val result = this.getClass.getSimpleName if (result.endsWith("$")) result.init else result Oke, dalam contoh ini, cabang thendan elsesederhana, tetapi Anda dapat menggambar yang kompleks. Saya membuat yang berikut ini: object TernaryOp { class Ternary[T](t: T) { def is[R](bte: BranchThenElse[T,R]) = if (bte.branch(t)) bte.then(t) else bte.elze(t) } …
94 scala 

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.