Thực hiện di chuyển từ 2.8.1 đến 2.9.1 đã tìm thấy điều thú vị. Cố gắng viết những dòng này trong giao diện điều khiển:Hành vi lạ lùng của Set4 trong scala 2.9.1?
>>import collection.immutable.Set.Set4
>>new Set4[Int](1,2,3,4)
Nó cung cấp cho:
java.lang.Error: Unexpected New
at scala.tools.nsc.symtab.SymbolTable.abort(SymbolTable.scala:34)
at scala.tools.nsc.backend.icode.GenICode$ICodePhase.scala$tools$nsc$bac
..........................
That entry seems to have slain the compiler. Shall I replayscala:660)
your session? I can re-run each line except the last one.reach(ListBuffer.scala:
[y/n]?
Tôi đang sử dụng phiên bản Scala 2.9.1.final (Java HotSpot (TM) Khách hàng VM, Java 1.6.0_26).
Và những điều tương tự cũng xảy ra với các lớp Set3 và Set2.
Có phải những vấn đề đã biết này không?
Hoặc, có thể, tôi đang làm điều gì sai?
Trong scala 2.8.1 giao diện điều khiển nó hoạt động, và lợi nhuận:
res0: collection.immutable.Set.Set4[Int] = Set(1,2,3,4)
Tôi Phải báo cáo về những lỗi như?
Có lý do nào bạn sử dụng 'Set4' trực tiếp không? – soc
Có, tôi muốn có một khóa với bốn số nguyên, sẽ được sử dụng thường xuyên với các phép toán Set (như |, &, & ~), vì nó muốn có một đối tượng với việc triển khai tối ưu. –
'Set (1,2,3,4) .isInstanceOf [collection.immutable.Set.Set4 [Int]] == true' điều này xảy ra tự động rồi. – soc