คำถามติดแท็ก scala

Scala เป็นภาษาการเขียนโปรแกรมที่ใช้งานทั่วไปโดยมีเป้าหมายหลักที่ Java Virtual Machine ออกแบบมาเพื่อแสดงรูปแบบการเขียนโปรแกรมทั่วไปในรูปแบบที่กระชับสง่างามและปลอดภัยในการใช้งาน คุณสมบัติที่สำคัญของมันคือ: ระบบประเภทคงที่ขั้นสูงที่มีการอนุมานประเภท; ประเภทฟังก์ชั่น รูปแบบจับคู่; พารามิเตอร์และการแปลงโดยนัย ผู้ประกอบการมากไป; การทำงานร่วมกันอย่างสมบูรณ์กับ Java; เห็นพ้องด้วย

4
SBT หยุดทำงานโดยไม่ต้องออก
คุณจะยุติการรันใน SBT โดยไม่ออกได้อย่างไร? ฉันพยายาม CTRL + C แต่ออกจาก SBT มีวิธีออกจากแอปพลิเคชันที่กำลังทำงานอยู่ในขณะที่เปิด SBT อยู่หรือไม่?
120 scala  sbt  terminate 

6
วิธีแบ่งลำดับออกเป็นสองส่วนโดยเพรดิเคต?
ฉันจะแบ่งลำดับออกเป็นสองรายการโดยเพรดิเคตได้อย่างไร ทางเลือก: ฉันสามารถใช้filterและfilterNotหรือเขียนวิธีการของตัวเองได้ แต่ไม่มีวิธีการทั่วไปที่ดีกว่านี้ (ในตัว) หรือไม่?
120 scala 

5
แยกรายการออกเป็นหลายรายการโดยมีจำนวนองค์ประกอบคงที่
วิธีแบ่งรายการองค์ประกอบออกเป็นรายการโดยมีรายการมากที่สุด N รายการ? เช่นให้รายการที่มี 7 องค์ประกอบสร้างกลุ่ม 4 กลุ่มออกจากกลุ่มสุดท้ายอาจมีองค์ประกอบน้อยกว่า split(List(1,2,3,4,5,6,"seven"),4) => List(List(1,2,3,4), List(5,6,"seven"))
119 list  scala  split 

12
Scala Doubles และ Precision
มีฟังก์ชันที่สามารถตัดหรือปัดเศษ Double ได้หรือไม่? จนถึงจุดหนึ่งในรหัสของฉันฉันต้องการให้ตัวเลขเช่น: 1.23456789ถูกปัดเศษเป็น1.23

12
วิธีการโพรไฟล์ใน Scala?
วิธีมาตรฐานในการเรียกเมธอด Scala คืออะไร สิ่งที่ฉันต้องการคือขอเกี่ยวกับวิธีการซึ่งฉันสามารถใช้เพื่อเริ่มและหยุดตัวจับเวลา ใน Java ฉันใช้การเขียนโปรแกรมด้านมุมมองด้าน J เพื่อกำหนดวิธีการที่จะทำโปรไฟล์และฉีดไบต์โค้ดเพื่อให้ได้สิ่งเดียวกัน มีวิธีที่เป็นธรรมชาติมากขึ้นใน Scala ที่ฉันสามารถกำหนดฟังก์ชันมากมายที่จะเรียกก่อนและหลังฟังก์ชันโดยไม่สูญเสียการพิมพ์แบบคงที่ในกระบวนการหรือไม่

10
วิธีที่ต้องการในการสร้างรายการ Scala
มีหลายวิธีในการสร้างรายการที่ไม่เปลี่ยนรูปใน Scala (ดูโค้ดตัวอย่างที่สร้างไว้ด้านล่าง) คุณสามารถใช้ ListBuffer ที่ไม่เปลี่ยนแปลงสร้างvarรายการและแก้ไขได้ใช้วิธีการเรียกซ้ำหางและอาจเป็นวิธีอื่นที่ฉันไม่รู้ โดยสัญชาตญาณฉันใช้ ListBuffer แต่ฉันไม่มีเหตุผลที่ดีในการทำเช่นนั้น มีวิธีการที่ต้องการหรือเป็นสำนวนในการสร้างรายการหรือมีสถานการณ์ที่ดีที่สุดสำหรับวิธีการหนึ่งมากกว่าอีกวิธีหนึ่งหรือไม่? import scala.collection.mutable.ListBuffer // THESE are all the same as: 0 to 3 toList. def listTestA() ={ var list:List[Int] = Nil for(i <- 0 to 3) list = list ::: List(i) list } def listTestB() ={ val list = new ListBuffer[Int]() …
117 scala 

6
Scala: รายการ [Future] to Future [List] โดยไม่คำนึงถึงฟิวเจอร์สที่ล้มเหลว
ฉันกำลังมองหาวิธีแปลงรายการ Futures ที่มีความยาวโดยพลการเป็น Future of List ฉันใช้ Playframework ในที่สุดสิ่งที่ฉันต้องการจริงๆคือ a Future[Result]แต่เพื่อทำให้สิ่งต่างๆง่ายขึ้นสมมติว่าFuture[List[Int]]วิธีปกติในการทำเช่นนี้คือการใช้Future.sequence(...)แต่มีข้อผิดพลาด ... รายการที่ฉันให้มักจะมี ฟิวเจอร์สประมาณ 10-20 ฟิวเจอร์สและไม่ใช่เรื่องแปลกที่หนึ่งในฟิวเจอร์สเหล่านั้นจะล้มเหลว (พวกเขากำลังส่งคำขอบริการเว็บภายนอก) แทนที่จะต้องลองใหม่ทั้งหมดในกรณีที่หนึ่งในนั้นล้มเหลวฉันต้องการที่จะได้รับสิ่งที่ประสบความสำเร็จและส่งคืนสิ่งเหล่านั้น ตัวอย่างเช่นการทำสิ่งต่อไปนี้ไม่ได้ผล import scala.concurrent._ import scala.concurrent.ExecutionContext.Implicits.global import scala.util.Success import scala.util.Failure val listOfFutures = Future.successful(1) :: Future.failed(new Exception("Failure")) :: Future.successful(3) :: Nil val futureOfList = Future.sequence(listOfFutures) futureOfList onComplete { case Success(x) => println("Success!!! " …
116 scala  future 

6
อาร์เรย์เริ่มต้นใน Scala
ฉันยังใหม่กับ Scala เพิ่งเริ่มเรียนรู้วันนี้ฉันอยากรู้วิธีเริ่มต้นอาร์เรย์ใน Scala ตัวอย่างโค้ด Java String[] arr = { "Hello", "World" }; โค้ดข้างบนใน Scala เทียบเท่ากับอะไร

4
“ บริบทผูกพัน” ใน Scala คืออะไร?
หนึ่งในคุณสมบัติใหม่ของ Scala 2.8 คือขอบเขตบริบท บริบทที่ผูกไว้คืออะไรและมีประโยชน์ที่ใด แน่นอนฉันค้นหาก่อน (และพบเช่นนี้ ) แต่ฉันไม่พบข้อมูลที่ชัดเจนและละเอียดมาก

7
Scala ลงหรือลดลงสำหรับลูป?
ใน Scala คุณมักใช้ตัววนซ้ำเพื่อทำforวนซ้ำตามลำดับที่เพิ่มขึ้นเช่น: for(i <- 1 to 10){ code } คุณจะทำอย่างไรให้มันเปลี่ยนจาก 10 เป็น 1 ฉันเดาว่า10 to 1ให้ตัววนซ้ำว่าง (เหมือนคณิตศาสตร์พิสัยปกติ)? ฉันสร้างสคริปต์ Scala ซึ่งแก้ไขได้โดยการเรียก reverse บน iterator แต่มันไม่ดีในความคิดของฉันวิธีต่อไปนี้จะไปหรือไม่? def nBeers(n:Int) = n match { case 0 => ("No more bottles of beer on the wall, no more bottles of beer." + "\nGo to …

9
การทำซ้ำคอลเลกชัน Java ใน Scala
ฉันกำลังเขียนโค้ด Scala ซึ่งใช้Apache POI API ฉันต้องการทำซ้ำในแถวที่อยู่ในjava.util.Iteratorที่ได้รับจากคลาสชีต ฉันต้องการใช้ตัววนซ้ำในfor eachรูปแบบลูปดังนั้นฉันจึงพยายามแปลงเป็นคอลเลกชัน Scala ดั้งเดิม แต่จะไม่มีโชค ฉันได้ดูคลาส / ลักษณะของ Scala wrapper แล้ว แต่ไม่เห็นวิธีใช้อย่างถูกต้อง ฉันจะทำซ้ำคอลเลกชัน Java ใน Scala โดยไม่ใช้while(hasNext()) getNext()รูปแบบการวนซ้ำแบบละเอียดได้อย่างไร นี่คือรหัสที่ฉันเขียนตามคำตอบที่ถูกต้อง: class IteratorWrapper[A](iter:java.util.Iterator[A]) { def foreach(f: A => Unit): Unit = { while(iter.hasNext){ f(iter.next) } } } object SpreadsheetParser extends Application { implicit def iteratorToWrapper[T](iter:java.util.Iterator[T]):IteratorWrapper[T] = …

7
วิธีแยกวิเคราะห์ JSON ใน Scala โดยใช้คลาส Scala มาตรฐาน
ฉันใช้บิลด์ในคลาส JSON ใน Scala 2.8 เพื่อแยกวิเคราะห์โค้ด JSON ฉันไม่ต้องการใช้ Liftweb อย่างใดอย่างหนึ่งเนื่องจากการลดการอ้างอิง วิธีที่ฉันทำดูเหมือนว่าจำเป็นเกินไปมีวิธีที่ดีกว่านี้ไหม import scala.util.parsing.json._ ... val json:Option[Any] = JSON.parseFull(jsonString) val map:Map[String,Any] = json.get.asInstanceOf[Map[String, Any]] val languages:List[Any] = map.get("languages").get.asInstanceOf[List[Any]] languages.foreach( langMap => { val language:Map[String,Any] = langMap.asInstanceOf[Map[String,Any]] val name:String = language.get("name").get.asInstanceOf[String] val isActive:Boolean = language.get("is_active").get.asInstanceOf[Boolean] val completeness:Double = language.get("completeness").get.asInstanceOf[Double] }
113 json  scala 

1
เหตุใดการจับคู่รูปแบบใน Scala จึงไม่ทำงานกับตัวแปร
ใช้ฟังก์ชันต่อไปนี้: def fMatch(s: String) = { s match { case "a" => println("It was a") case _ => println("It was something else") } } รูปแบบนี้เข้ากันได้ดี: scala> fMatch("a") It was a scala> fMatch("b") It was something else สิ่งที่ฉันอยากจะทำได้มีดังต่อไปนี้: def mMatch(s: String) = { val target: String = "a" s match { …

8
Jvm ใช้เวลานานในการแก้ไข ip-address สำหรับ localhost
ดูเหมือนว่าฉันจะมีปัญหากับประสิทธิภาพของ "sbt test" (ซึ่งรวมถึงการค้นหาชื่อ localhost / ที่อยู่ IP) หลังจากอัปเกรดเป็น macOS Sierra ใน OS X เวอร์ชันก่อนหน้าจะใช้เวลาประมาณ 40-50 วินาทีจึงจะเสร็จสิ้น macOS Sierra ครั้งสูงกว่านั้นมาก ฉันวิ่งครั้งสุดท้ายประมาณ 15 นาที เวลาในการรวบรวมจะใกล้เคียงกับ 'El Capitan' ฉันเป็นคนเดียวจากทีมของฉันที่ได้ลองใช้ macOS ใหม่นี้ดังนั้นฉันจึงไม่สามารถบอกได้ว่ามันเกิดขึ้นบน Mac ของฉันเท่านั้นหรือเป็นปัญหาทั่วไป เพื่อนร่วมงานของฉันมีปัญหาคล้ายกันใน Ubuntu และเกี่ยวข้องกับการสร้างตัวเลขแบบสุ่มทำให้การทดสอบช้าลง - เวลาตอบสนองการบริการช้า: Java SecureRandom & / dev / random น่าเสียดายที่ไม่ได้ผลสำหรับฉัน เดิมทีฉันลองใช้บน JDK 8u54 แล้วลองอัปเดตเป็น JDK 8u102 …


โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.