問題タブ [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.
scala - Map から java.util.Map に変換する方法はありますか?
私は多くのスカラ マップを使用しますが、時々、java.util.Map を必要とする従来の Java API にそれらをマップとして渡したいことがあります (変更が破棄されるかどうかは気にしません)。
compiler-construction - Scalas/Haskells パーサー コンビネータで十分ですか?
Scalas/Haskells パーサー コンビネーターがプログラミング言語の解析に十分かどうか疑問に思っています。より具体的には、MiniJava 言語です。私は現在、コンパイラの構築を読んでおり、jflex と Java カップを使用するのは非常に面倒なので、代わりにパーサー コンビネータを使用できる/使用する必要があるかどうか疑問に思っています。MiniJava 構文は非常に小さいです。MiniJavas BNF: http://www.cambridge.org/us/features/052182060X/grammar.html
java - ScalaでJavaコレクションを反復処理する
ApachePOIAPIを使用するScalaコードを書いています。java.util.Iterator
Sheetクラスから取得したに含まれる行を繰り返し処理したいと思います。イテレータをスタイルループで使用したいfor each
ので、ネイティブのScalaコレクションに変換しようとしましたが、うまくいきません。
Scalaラッパーのクラス/特性を見てきましたが、正しく使用する方法がわかりません。while(hasNext()) getNext()
冗長なスタイルのループを使用せずに、ScalaでJavaコレクションを反復処理するにはどうすればよいですか?
正解に基づいて作成したコードは次のとおりです。
parsing - EBNF から Scala パーサー コンビネーターへ
解析したい次の EBNF があります。
そして、これは私が得たものです:
しかし、できればキャスト(asInstanceOf)に頼る必要なしに、より良い方法があるかどうかを知りたいです。
generics - Scalaでパラメトリックグラフタイプを作成する
グラフを表現するためのジェネリック型階層を作成したいと思います。特に、グラフとノードのクラスが必要です。すべてのグラフタイプに対応するノードタイプがあり、グラフを操作するためのジェネリック関数を作成する場合は、この関数で実際のノードを使用する必要があります。タイプ。私が試した例
しかし、これはうまくいきませんでした。
ConcreteGraph#Node=>Unit
dfs関数は、タイプとしての関数を受け入れませんが、またはnodeAction
のみを受け入れます。AnyRef=>Unit
GNode[ConcreteGraph]=>Unit
明確にするために、私がC ++でそれをした場合、私は次のようなことをします
java - 怒って Scala を使っている人はいますか (Java プログラマーへのアドバイスはありますか)?
私は Smalltalk を始めてから 10 年以上 Java プログラマーをしています。次の大きな言語は、ユビキタスな Java 仮想マシン上で動作する言語になる可能性が高いというのが私の意見です。Scala が (他の言語の中でも) 持っている機能のいくつかを利用したいと思います -case
クラス階層、クロージャ、型推論のステートメント。Smalltalkに少し近づいた!
Java の第二の性質であるすべてのもの:
- で構築
ant
- アプリケーション/ライブラリを論理
jar
sにデプロイする - 優れた IDE ツールのサポート
- GUI を書く (または、ある種のリモーティングを介して Swing GUI に話しかけさせる?)
- サードパーティのライブラリ/フレームワーク
- 構成 (プロパティ
XML
などSpring
) - DBドライバーなど
お気に入りのプロジェクトで遊んでいることと、実際にそれを職場で怒らせて使用することの違いが少し大きすぎるのではないかと心配しています.
- この飛躍を遂げた人はいますか?
- それは価値がありました?
- どのような教訓を学びましたか。
(明らかに、人々はScalaを使用しています。しかし、より適切な言葉が必要な場合、エンタープライズアプリケーションを実際に構築している人はいますか?)
oop - Scala のパターン マッチングは Open/Closed Principle に違反していますか?
新しいケース クラスを追加する場合、すべてのパターン マッチング コードを検索して、新しいクラスを処理する必要がある場所を見つける必要があるということですか? 私は最近この言語を学んでおり、パターン マッチングの賛否両論を読んでいるうちに、パターン マッチングをどこで使用すべきかについて混乱していました。以下を参照してください。
短所: ビースト
コメントもそれぞれのケースでかなり良いです。では、パターン マッチングはわくわくするものですか、それとも使用を避けるべきものですか? 実際、「使うタイミング次第」という答えになると思いますが、ポジティブなユースケースとネガティブなユースケースは何ですか?