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

Scalaは、主にJava仮想マシンを対象とする汎用プログラミング言語です。一般的なプログラミングパターンを簡潔、エレガント、タイプセーフな方法で表現するように設計されており、命令型プログラミングと関数型プログラミングのスタイルを融合しています。その主な機能は次のとおりです。型推論を持つ高度な静的型システム。関数タイプ; パターンマッチング; 暗黙的なパラメータと変換。演算子のオーバーロード。Javaとの完全な相互運用性。並行性


15
Scalaで使用するJSONライブラリは何ですか?[閉まっている]
閉まっている。この質問はスタックオーバーフローのガイドラインを満たしていません。現在、回答を受け付けていません。 この質問を改善してみませんか?Stack Overflowのトピックとなるように質問を更新します。 3年前休業。 この質問を改善する 次のようなJSON文字列を作成する必要があります。 [ { 'id': 1, 'name': 'John'}, { 'id': 2, 'name': 'Dani'} ] val jArray = JsArray(); jArray += (("id", "1"), ("name", "John")) jArray += (("id", "2"), ("name", "Dani")) println(jArray.dump) 私はに行を追加できるようにする必要がありjArray、のようなものをjArray += ... これに最も近いライブラリ/ソリューションは何ですか?
125 json  scala 


7
Scalaで正規表現を使用してパターンマッチングを行う方法
単語の最初の文字と、「ABC」などのグループ内の文字の1つとの一致を検索できるようにしたいと考えています。擬似コードでは、これは次のようになります。 case Process(word) => word.firstLetter match { case([a-c][A-C]) => case _ => } } しかし、Javaの代わりにScalaで最初の文字を取得するにはどうすればよいですか?正規表現を適切に表現するにはどうすればよいですか?ケースクラス内でこれを行うことは可能ですか?
124 regex  scala 

7
ネストされた構造を更新するためのより明確な方法
次の2つのcase classes があるとします。 case class Address(street: String, city: String, state: String, zipCode: Int) case class Person(firstName: String, lastName: String, address: Address) および次のPersonクラスのインスタンス: val raj = Person("Raj", "Shekhar", Address("M Gandhi Marg", "Mumbai", "Maharashtra", 411342)) 更新したい場合はzipCode、raj次のようにする必要があります。 val updatedRaj = raj.copy(address = raj.address.copy(zipCode = raj.address.zipCode + 1)) ネストのレベルが増えると、さらに醜くなります。update-inそのようなネストされた構造を更新するためのより明確な方法(Clojureのようなもの)はありますか?
124 scala  case-class  zipper 

10
RDDの内容を印刷する方法は?
コレクションの内容をSparkコンソールに出力しようとしています。 タイプがあります: linesWithSessionId: org.apache.spark.rdd.RDD[String] = FilteredRDD[3] そして、私はコマンドを使用します: scala> linesWithSessionId.map(line => println(line)) しかし、これは印刷されます: res1:org.apache.spark.rdd.RDD [Unit] =マップされた:19のMappedRDD [4] RDDをコンソールに書き込んだり、内容を表示できるようにディスクに保存したりするにはどうすればよいですか?

3
Scalaのパターンマッチングはバイトコードレベルでどのように実装されますか?
Scalaのパターンマッチングはバイトコードレベルでどのように実装されますか? それは一連のif (x instanceof Foo)構成要素のようなものですか、それとも何か他のものですか?そのパフォーマンスへの影響は何ですか? たとえば、次のコード(Scala By Exampleページ46〜48から)を指定すると、evalメソッドの同等のJavaコードはどのようになりますか? abstract class Expr case class Number(n: Int) extends Expr case class Sum(e1: Expr, e2: Expr) extends Expr def eval(e: Expr): Int = e match { case Number(x) => x case Sum(l, r) => eval(l) + eval(r) } PS私はJavaバイトコードを読み取ることができるので、バイトコード表現で十分ですが、おそらく他の読者がJavaコードとしてどのように見えるかを知っている方が良いでしょう。 PPS 『Scalaでのプログラミング』という本は、Scalaの実装方法に関するこの質問および同様の質問に対する回答を提供していますか?その本を注文しましたが、まだ到着していません。

1
Scala列挙を理解する
Scala列挙型クラスが理解できないと言わざるを得ません。ドキュメントから例をコピーして貼り付けることができますが、何が起こっているのかわかりません。 object WeekDay extends Enumeration { type WeekDay = Value val Mon, Tue, Wed, Thu, Fri, Sat, Sun = Value } import WeekDay._ どういう意味ですかtype WeekDay = Value、なぜそれを書かなければならないのですか? なんでval Mon = Value?それは一体何の意味ですか? WeekDay オブジェクトをインポートする必要があるのはなぜですか?そして、 私が書くときval day = WeekDay.Mon、なぜそれはタイプWeekDay.ValueではなくタイプなのWeekDayですか?
122 scala  enums 

6
IntelliJ IDEAが変更後にbuild.sbtから依存関係をリロードするように強制するにはどうすればよいですか?
IntelliJ IDEA 13(コミュニティエディション)とScalaプラグインを使用しています。 build.sbt正常に動作する既存のScalaプロジェクトの最初のインポート。ライブラリの依存関係はIDEAによって取得されました。最初のインポート後に追加された追加の依存関係は選択されませんでしたが、auto-importオプションをチェックしました。 IDEAに依存関係を再ロードさせるにはどうすればよいbuild.sbtですか?
122 scala  intellij-idea  sbt 

19
IntelliJでScalaクラスを作成できません
私はScalaを学び始めたばかりです。IntelliJ用のScalaプラグインをインストールし、新しいScalaプロジェクトを作成しました。しかし、srcフォルダーを右クリックして新しいScalaクラスを作成する場合、そのためのオプションはありません。何か不足していますか?


1
Scalaは推論された型の「許容できる複雑さ」にどのような制限を課しますか?
Scala言語仕様によると: ...ローカル型推論は、[型パラメーターの]推論された境界の複雑さを制限するために許可されています。タイプの最小性と最大性は、許容される複雑性のタイプのセットと比較して理解する必要があります。 実際には限界は何ですか? また、推定された式の型に適用される制限は、パラメーターの型の境界とは異なりますか?それらの制限は何ですか?

14
simple-build-tool(sbt)とIntelliJを使用したScalaコードのデバッグ
IntelliJの組み込みデバッガーを使用してsbtによって管理されるScalaコードをデバッグする最も簡単な方法は何ですか?sbtのgoogleコードサイトの "RunningSbt"のドキュメントには、プロジェクトまたはテストのメインクラスを実行するためのコマンドがリストされていますが、デバッグ用のコマンドがないようです。 追加質問:sbtのjetty-runコマンドを使用するときにIntelliJのデバッガーをJettyに接続する最も簡単な方法は何ですか?


4
SBTは終了せずに実行を停止します
終了せずにSBTの実行をどのように終了しますか? CTRL + Cを試行していますが、SBTを終了します。SBTを開いたまま、実行中のアプリケーションのみを終了する方法はありますか?
120 scala  sbt  terminate 

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.