問題タブ [scala]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
3 に答える
2312 参照

scala - Map から java.util.Map に変換する方法はありますか?

私は多くのスカラ マップを使用しますが、時々、java.util.Map を必要とする従来の Java API にそれらをマップとして渡したいことがあります (変更が破棄されるかどうかは気にしません)。

0 投票する
6 に答える
1459 参照

compiler-construction - Scalas/Haskells パーサー コンビネータで十分ですか?

Scalas/Haskells パーサー コンビネーターがプログラミング言語の解析に十分かどうか疑問に思っています。より具体的には、MiniJava 言語です。私は現在、コンパイラの構築を読んでおり、jflex と Java カップを使用するのは非常に面倒なので、代わりにパーサー コンビネータを使用できる/使用する必要があるかどうか疑問に思っています。MiniJava 構文は非常に小さいです。MiniJavas BNF: http://www.cambridge.org/us/features/052182060X/grammar.html

0 投票する
9 に答える
85092 参照

java - ScalaでJavaコレクションを反復処理する

ApachePOIAPIを使用するScalaコードを書いています。java.util.IteratorSheetクラスから取得したに含まれる行を繰り返し処理したいと思います。イテレータをスタイルループで使用したいfor eachので、ネイティブのScalaコレクションに変換しようとしましたが、うまくいきません。

Scalaラッパーのクラス/特性を見てきましたが、正しく使用する方法がわかりません。while(hasNext()) getNext()冗長なスタイルのループを使用せずに、ScalaでJavaコレクションを反復処理するにはどうすればよいですか?

正解に基づいて作成したコードは次のとおりです。

0 投票する
3 に答える
2355 参照

c++ - C ++用のscalaのようなミックスインはありますか?

Scala Mixins

0 投票する
1 に答える
2898 参照

parsing - EBNF から Scala パーサー コンビネーターへ

解析したい次の EBNF があります。

そして、これは私が得たものです:

しかし、できればキャスト(asInstanceOf)に頼る必要なしに、より良い方法があるかどうかを知りたいです。

0 投票する
2 に答える
2550 参照

generics - Scalaでパラメトリックグラフタイプを作成する

グラフを表現するためのジェネリック型階層を作成したいと思います。特に、グラフとノードのクラスが必要です。すべてのグラフタイプに対応するノードタイプがあり、グラフを操作するためのジェネリック関数を作成する場合は、この関数で実際のノードを使用する必要があります。タイプ。私が試した例

しかし、これはうまくいきませんでした。

ConcreteGraph#Node=>Unitdfs関数は、タイプとしての関数を受け入れませんが、またはnodeActionのみを受け入れます。AnyRef=>UnitGNode[ConcreteGraph]=>Unit

明確にするために、私がC ++でそれをした場合、私は次のようなことをします

0 投票する
8 に答える
3934 参照

java - 怒って Scala を使っている人はいますか (Java プログラマーへのアドバイスはありますか)?

私は Smalltalk を始めてから 10 年以上 Java プログラマーをしています。次の大きな言語は、ユビキタスな Java 仮想マシン上で動作する言語になる可能性が高いというのが私の意見です。Scala が (他の言語の中でも) 持っている機能のいくつかを利用したいと思います -caseクラス階層、クロージャ、型推論のステートメント。Smalltalkに少し近づいた!

Java の第二​​の性質であるすべてのもの:

  • で構築ant
  • アプリケーション/ライブラリを論理jarsにデプロイする
  • 優れた IDE ツールのサポート
  • GUI を書く (または、ある種のリモーティングを介して Swing GUI に話しかけさせる?)
  • サードパーティのライブラリ/フレームワーク
  • 構成 (プロパティXMLなどSpring)
  • DBドライバーなど

お気に入りのプロジェクトで遊んでいることと、実際にそれを職場で怒らせて使用することの違いが少し大きすぎるのではないかと心配しています.

  1. この飛躍を遂げた人はいますか?
  2. それは価値がありました?
  3. どのような教訓を学びましたか。

(明らかに、人々はScalaを使用しています。しかし、より適切な言葉が必要な場合、エンタープライズアプリケーションを実際に構築している人はいますか?)

0 投票する
3 に答える
2868 参照

oop - Scala のパターン マッチングは Open/Closed Principle に違反していますか?

新しいケース クラスを追加する場合、すべてのパターン マッチング コードを検索して、新しいクラスを処理する必要がある場所を見つける必要があるということですか? 私は最近この言語を学んでおり、パターン マッチングの賛否両論を読んでいるうちに、パターン マッチングをどこで使用すべきかについて混乱していました。以下を参照してください。

プロ: Odersky1Odersky2

短所: ビースト

コメントもそれぞれのケースでかなり良いです。では、パターン マッチングはわくわくするものですか、それとも使用を避けるべきものですか? 実際、「使うタイミング次第」という答えになると思いますが、ポジティブなユースケースとネガティブなユースケースは何ですか?