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

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


6
วิธีรับ Scala List จาก Java List
ฉันมี Java API ที่ส่งคืนรายการเช่น: public List<?> getByXPath(String xpathExpr) ฉันใช้รหัส scala ด้านล่าง: val lst = node.getByXPath(xpath) ตอนนี้ถ้าฉันลองน้ำตาลไวยากรณ์ของสกาล่าเช่น: lst.foreach{ node => ... } มันไม่ทำงาน. ฉันได้รับข้อผิดพลาด: value foreach is not a member of java.util.List[?0] ดูเหมือนว่าฉันต้องแปลงรายการ Java เป็นรายการ Scala จะทำอย่างไรในบริบทข้างต้น?
134 java  scala 

4
Manifest ใน Scala คืออะไรและเมื่อใดที่คุณต้องการ
เนื่องจาก Scala 2.7.2 มีสิ่งที่เรียกว่าManifestซึ่งเป็นวิธีแก้ปัญหาสำหรับการลบประเภทของ Java แต่Manifestทำงานอย่างไรและทำไม / เมื่อใดที่คุณต้องใช้? โพสต์บล็อกแสดงออก: ประเภท reifiedโดย Jorge ออร์ติซอธิบายบางส่วนของมัน แต่มันก็ไม่ได้อธิบายวิธีการใช้งานร่วมกับขอบเขตบริบท นอกจากนี้อะไรคือClassManifestความแตกต่างกับManifestอะไร? ฉันมีรหัสบางส่วน (เป็นส่วนหนึ่งของโปรแกรมที่ใหญ่กว่าไม่สามารถรวมไว้ที่นี่ได้อย่างง่ายดาย) ซึ่งมีคำเตือนเกี่ยวกับการลบประเภท ฉันสงสัยว่าฉันสามารถแก้ปัญหาเหล่านี้ได้โดยใช้ไฟล์ Manifest แต่ฉันไม่แน่ใจว่าอย่างไร
133 scala  manifest 

3
Apache Spark: map vs mapPartitions?
อะไรคือความแตกต่างระหว่างRDD mapและmapPartitionsวิธีการ? และflatMapประพฤติชอบmapหรือmapPartitionsไม่? ขอบคุณ (แก้ไข) คืออะไรคือความแตกต่าง (ทั้งในเชิงความหมายหรือในแง่ของการดำเนินการ) ระหว่าง def map[A, B](rdd: RDD[A], fn: (A => B)) (implicit a: Manifest[A], b: Manifest[B]): RDD[B] = { rdd.mapPartitions({ iter: Iterator[A] => for (i <- iter) yield fn(i) }, preservesPartitioning = true) } และ: def map[A, B](rdd: RDD[A], fn: (A => B)) (implicit a: …

8
วิธีเพิ่มประสิทธิภาพสำหรับความเข้าใจและการวนซ้ำใน Scala
ดังนั้น Scala ควรจะเร็วเท่ากับ Java ฉันกำลังแก้ไขปัญหาProject Eulerบางอย่างใน Scala ที่ฉันได้แก้ไขใน Java ปัญหาเฉพาะที่ 5: "จำนวนบวกที่น้อยที่สุดที่หารด้วยตัวเลขทั้งหมดตั้งแต่ 1 ถึง 20 เท่ากันคืออะไร" นี่คือโซลูชัน Java ของฉันซึ่งใช้เวลา 0.7 วินาทีในการดำเนินการบนเครื่องของฉัน: public class P005_evenly_divisible implements Runnable{ final int t = 20; public void run() { int i = 10; while(!isEvenlyDivisible(i, t)){ i += 2; } System.out.println(i); } boolean isEvenlyDivisible(int a, …



5
Scala @ operator
ตัวดำเนินการ @ ของ Scala ทำอะไร? ตัวอย่างเช่นในบล็อกโพสต์การประมวลผลภาษาอย่างเป็นทางการในสกาล่าตอนที่ 2มีลักษณะเช่นนี้ case x @ Some(Nil) => x
130 scala  operators 

3
sbt-assembly: พบข้อผิดพลาดในการขจัดข้อมูลซ้ำซ้อน
ฉันไม่แน่ใจว่าการผสมผสานหรือไม่รวมไหเป็นตัวเลือกที่ดีที่สุดที่นี่ ความช่วยเหลือเกี่ยวกับวิธีดำเนินการเพิ่มเติมกับข้อผิดพลาดนี้จะดีมาก! [sameert@pzxdcc0151 approxstrmatch]$ sbt assembly [info] Loading project definition from /apps/sameert/software/approxstrmatch/project [info] Set current project to approxstrmatch (in build file:/apps/sameert/software/approxstrmatch/) [info] Including from cache: scala-library.jar [info] Checking every *.class/*.jar file's SHA-1. [info] Merging files... [info] Including from cache: curator-client-2.4.0.jar [info] Including from cache: secondstring-20140729.jar [info] Including from cache: slf4j-api-1.7.5.jar …
130 scala  sbt  sbt-assembly 

1
วิธีอัพเดตเร็กคอร์ด mongo โดยใช้ Rogue ด้วย MongoCaseClassField เมื่อคลาสเคสมี scala Enumeration
ฉันกำลังอัพเกรดรหัสที่มีอยู่จากRogue 1.1.8ไป2.0.0และจากlift-mongodb-record2.4-M5 to 2.5 ฉันมีปัญหาในการเขียนMongoCaseClassFieldซึ่งมี scala enum ซึ่งฉันสามารถใช้ความช่วยเหลือได้บ้าง ตัวอย่างเช่น, object MyEnum extends Enumeration { type MyEnum = Value val A = Value(0) val B = Value(1) } case class MyCaseClass(name: String, value: MyEnum.MyEnum) class MyMongo extends MongoRecord[MyMongo] with StringPk[MyMongo] { def meta = MyMongo class MongoCaseClassFieldWithMyEnum[OwnerType <: net.liftweb.record.Record[OwnerType], CaseType](rec : …
129 mongodb  class  scala  record  lift 

5
จะกำหนดการแบ่งพาร์ติชันของ DataFrame ได้อย่างไร?
ฉันเริ่มใช้ Spark SQL และ DataFrames ใน Spark 1.4.0 ฉันต้องการกำหนดพาร์ติชันเนอร์ที่กำหนดเองบน DataFrames ใน Scala แต่ไม่เห็นวิธีการทำเช่นนี้ หนึ่งในตารางข้อมูลที่ฉันกำลังใช้งานประกอบด้วยรายการธุรกรรมตามบัญชีซิลิมาร์ดังตัวอย่างต่อไปนี้ Account Date Type Amount 1001 2014-04-01 Purchase 100.00 1001 2014-04-01 Purchase 50.00 1001 2014-04-05 Purchase 70.00 1001 2014-04-01 Payment -150.00 1002 2014-04-01 Purchase 80.00 1002 2014-04-02 Purchase 22.00 1002 2014-04-04 Payment -120.00 1002 2014-04-04 Purchase 60.00 …

2
พารามิเตอร์ตัวสร้างสกาล่าเริ่มต้นที่ val ส่วนตัวหรือไม่
ฉันได้ลองแล้ว: class Foo(bar: Int) VS: class Foo(private val bar: Int) และพวกเขาดูเหมือนจะทำงานเหมือนกันแม้ว่าฉันจะไม่พบที่ใดก็ได้ที่บอกว่า(bar: Int)ขยายออกไป(private val bar: Int)ดังนั้นคำถามของฉันคือสิ่งเหล่านี้เหมือนกันหรือคล้ายกัน? ในหมายเหตุด้านฉันพยายามใช้-Xprint:typerกับโค้ดเหล่านี้และพวกมันสร้างโค้ดเดียวกันยกเว้นบรรทัดเพิ่มเติมในอันที่สอง ฉันจะอ่านบรรทัดพิเศษนั้นได้อย่างไร .. class Foo extends scala.AnyRef { <paramaccessor> private[this] val bar: Int = _; def <init>(bar: Int): this.Foo = { Foo.super.<init>(); () } } .. .. class Foo extends scala.AnyRef { <paramaccessor> private[this] val …

6
อะไรคือความแตกต่างที่สำคัญระหว่าง Scala และ Groovy [ปิด]
ปิด คำถามนี้เป็นคำถามความคิดเห็นตาม ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้สามารถตอบข้อเท็จจริงและการอ้างอิงได้โดยแก้ไขโพสต์นี้ ปิดให้บริการใน5 ปีที่ผ่านมา ปรับปรุงคำถามนี้ บนพื้นผิว Groovy และ Scala ดูคล้ายกันมากนอกจาก Scala จะถูกพิมพ์แบบคงที่และ Groovy แบบไดนามิก อะไรคือความแตกต่างที่สำคัญอื่น ๆ และข้อดีแต่ละข้อมีมากกว่ากัน มันคล้ายกันมากแค่ไหน? มีการแข่งขันกันระหว่างสองคนนี้หรือไม่? ถ้าเป็นเช่นนั้นคุณคิดว่าใครจะชนะในระยะยาว?
128 scala  groovy 

3
สกาล่า: ไม่มี vs รายการ ()
ใน Scala จะมีความแตกต่างใด ๆ ระหว่างNilและList()? ถ้าไม่สไตล์ Scala สำนวนไหนมากกว่ากัน? ทั้งสำหรับการสร้างรายการว่างใหม่และการจับคู่รูปแบบในรายการว่าง
128 scala 

4
อะไรคือกรณีการใช้งานที่น่าสนใจสำหรับประเภทวิธีการที่ต้องพึ่งพา
ประเภทวิธีการขึ้นอยู่กับที่เคยเป็นคุณลักษณะทดลองมาก่อนตอนนี้ได้เปิดใช้งานโดยค่าเริ่มต้นในหีบและดูเหมือนว่าสิ่งนี้จะสร้างความตื่นเต้นในชุมชน Scala ดูครั้งแรกยังไม่ชัดเจนในทันทีว่าสิ่งนี้มีประโยชน์สำหรับอะไร Heiko Seeberger โพสต์ตัวอย่างง่าย ๆ ของประเภทวิธีการที่ขึ้นกับที่นี่ซึ่งสามารถเห็นได้ในความคิดเห็นสามารถทำซ้ำได้อย่างง่ายดายด้วยพารามิเตอร์ประเภทในวิธีการ นั่นไม่ใช่ตัวอย่างที่น่าสนใจ (ฉันอาจจะขาดอะไรบางอย่างที่ชัดเจนโปรดแก้ไขฉันหากมี) มีตัวอย่างกรณีการใช้งานที่ใช้งานได้จริงและมีประโยชน์อะไรบ้างสำหรับประเภทวิธีการที่พึ่งพาซึ่งพวกเขาได้เปรียบอย่างชัดเจนมากกว่าทางเลือกอื่น ๆ สิ่งที่น่าสนใจที่เราสามารถทำได้กับสิ่งเหล่านี้ที่ไม่เคยเป็นไปได้ / ง่ายมาก่อน? พวกเขาซื้ออะไรเราจากคุณสมบัติระบบประเภทที่มีอยู่? นอกจากนี้ประเภทวิธีการที่ขึ้นอยู่กับการเปรียบเทียบหรือการวาดแรงบันดาลใจจากคุณสมบัติใด ๆ ที่พบในระบบประเภทของภาษาพิมพ์ขั้นสูงอื่น ๆ เช่น Haskell, OCaml หรือไม่

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