タグ付けされた質問 「scala-2.8」

18
Scala 2.8コレクションライブラリは、「史上最長の自殺ノート」のケースですか?[閉まっている]
現在のところ、この質問は、Q&A形式には適していません。私たちは回答が事実、参考文献、または専門知識によってサポートされることを期待しますが、この質問はおそらく議論、議論、投票、または拡張された議論を誘います。この質問を改善でき、再開できると思われる場合は、ヘルプセンターにアクセスしてください。 7年前休業。 差し迫った2.8リリースで提供されるScalaコレクションライブラリの再実装を検討し始めたところです。2.7のライブラリに精通している人なら、ライブラリは使用法の観点からはほとんど変わっていないことに気付くでしょう。例えば... > List("Paris", "London").map(_.length) res0: List[Int] List(5, 6) ...どちらのバージョンでも機能します。ライブラリは非常に使いやすいです。実際、それは素晴らしいです。ただし、以前はScalaに慣れておらず、言語を理解するためにざっと見ていた人は、次のようなメソッドシグネチャを理解する必要があります。 def map[B, That](f: A => B)(implicit bf: CanBuildFrom[Repr, B, That]): That このような単純な機能の場合、これは困難なシグネチャであり、私が理解するのに苦労しているものです。Scalaが次のJava(または/ C / C ++ / C#)になる可能性が高いと私が思うわけではありません。その作成者がその市場を狙っていたとは思えませんが、Scalaが実現することは確かに実現可能でした次のRubyまたはPython(つまり、大幅な商用ユーザーベースを獲得するため) これは人々がScalaに来るのを先送りにするでしょうか? これは、専門の博士課程の学生だけが理解できる学術的な遊び道具として、Scalaを商業の世界で悪名にするのでしょうか?されCTO sおよびソフトウェアの頭はオフ怖がって取得するつもり? ライブラリの再設計は賢明なアイデアでしたか? Scalaを商業的に使用している場合、これについて心配していますか?すぐに2.8を採用する予定ですか、それとも何が起こるか確認するのを待ちますか? Steve Yeggeは かつてScalaを攻撃した(私の意見では誤解している)が、過度に複雑な型システムと見なしたものを攻撃した。私は誰かがこのAPIでFUDを広める実地の日を過ごすことを心配しています(Josh Bloch がJavaにクロージャーを追加することからJCPを怖がらせたのと同様に)。 注 - 私は私がいることを信じていながら、ことは明らかであるジョシュア・ブロックが、私は提案が間違いを表現することを彼の正直、信念以外にこれを帰ませんBGGA閉鎖案の拒否で影響を与えました。 私の妻や同僚が私に言い続けていることは何でも、私はばかだとは思わない:私はオックスフォード大学で数学の学位を取得しており、約12年間は商業的にプログラミングしており、Scalaで約1年(これも商用)。 扇情的な主題のタイトルは、1980年代初頭の英国の政党のマニフェストについてなされた引用であることに注意してください。この質問は主観的ですが、本当の質問です。CWにしました。この件についていくつかの意見をお願いします。

4
Scala 2.8ブレークアウト
Scala 2.8では、にオブジェクトがありますscala.collection.package.scala。 def breakOut[From, T, To](implicit b : CanBuildFrom[Nothing, T, To]) = new CanBuildFrom[From, T, To] { def apply(from: From) = b.apply() ; def apply() = b.apply() } これは次の結果になると言われています: > import scala.collection.breakOut > val map : Map[Int,String] = List("London", "Paris").map(x => (x.length, x))(breakOut) map: Map[Int,String] = Map(6 -> London, 5 …

4
Scala 2.8で<:<、<%<、および=:=は何を意味し、それらはどこに文書化されていますか?
PredefのAPIドキュメントで、それらがジェネリック関数タイプ(From)=&gt; Toのサブクラスであることがわかりますが、それだけです。えっと、何?ドキュメントはどこかにあるかもしれませんが、検索エンジンは "&lt;:&lt;"のような "名前"をうまく処理しないので、私はそれを見つけることができませんでした。 追加質問:これらのファンキーなシンボル/クラスを使用する必要があるのはなぜですか?




4
パッケージオブジェクト
パッケージオブジェクトとは何ですか?概念ではなく、その使用方法は? 私は例を動作させるように試みました、そして私が動作するようになった唯一のフォームは以下の通りです: package object investigations { val PackageObjectVal = "A package object val" } package investigations { object PackageObjectTest { def main(args: Array[String]) { println("Referencing a package object val: " + PackageObjectVal) } } } これまでに私が行った観察は次のとおりです。 package object _root_ { ... } 禁止されています(これは妥当です)、 package object x.y { ... } また、許可されていません。 …
92 scala  scala-2.8 

7
Scalaの継続とは何ですか?なぜそれらを使用するのですか?
Scalaでのプログラミングを終えたばかりで、Scala2.7と2.8の間の変更点を調べています。最も重要と思われるのは継続プラグインですが、それが何に役立つのか、どのように機能するのかわかりません。非同期I / Oに適していることは確認しましたが、その理由を見つけることができませんでした。このテーマに関するより人気のあるリソースのいくつかは次のとおりです。 区切られた継続とScala Scalaの後藤 2.8の味:続き 区切られた継続の説明(Scala) そして、Stack Overflowに関するこの質問: Scala2.8とScala2.7の最大の違いは何ですか? 残念ながら、これらのリファレンスはいずれも、継続の目的やシフト/リセット関数の機能を定義しようとはしておらず、そのようなリファレンスは見つかりませんでした。リンクされた記事の例がどのように機能するか(またはそれらが何をするか)を推測することができなかったので、私を助ける1つの方法は、それらのサンプルの1つを1行ずつ調べることです。3番目の記事からのこの単純なものでさえ: reset { ... shift { k: (Int=&gt;Int) =&gt; // The continuation k will be the '_ + 1' below. k(7) } + 1 } // Result: 8 結果が8なのはなぜですか?それはおそらく私が始めるのに役立つでしょう。
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.