問題タブ [scala-2.8]

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 投票する
2 に答える
1793 参照

scala - 両方によってオーバーライドされる3番目のメンバーなしでコンクリートメンバーをオーバーライドすることはできません

次のエラーメッセージはどういう意味ですか?

両方によってオーバーライドされる3番目のメンバーなしで具象メンバーをオーバーライドすることはできません(このルールは、「偶発的なオーバーライド」を防ぐように設計されています);

私は積み重ね可能な特性の変更を行おうとしていました。私はすでに階層を設定していて、多くのコードを書き直さなくても動作を変更しようとしているので、事後少しです。

次のような抽象メソッドを定義するAbstractProcessorという基本クラスがあります。

さまざまなonPush動作を実装するために、いくつかの既存の特性があります。

new AbstractProcessor with Pass1だから私はまたはを使用することができますnew AbstractProcessor with Pass2

ここで、AbstractProcessorとPass1およびPass2へのコード変更を最小限に抑えながら、Pass1およびPass2でのonPush呼び出しの前後にいくつかの処理を実行したいと思います。私はこのようなことをする特性を作成することを考えました:

そしてそれを一緒に使用するとnew AbstractProcessor with Pass1 with Custom、そのエラーメッセージが表示されました。

0 投票する
17 に答える
16595 参照

ide - Scala 2.8 の IDE は?

古いバージョンの Scala についても同じ質問ですが、Eclipse プラグインは大幅に改善されているとのことです。それは今最高の IDE ですか? 現在のさまざまな Scala IDE はどのように比較されますか?

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

generics - 2.7 での Scala Type Failure: 回避策はありますか?

のキータイプとしてパラメーター化されたクラスを使用する際に問題がありますMap。まず、パラメーター化されたクラスを作成します。

次に、未知のパラメーター全体でこれらの架空のコレクションを作成します。

次に、これらを格納するマップを作成します。

ここで、マップへの入力を試みます

次のコンパイラ エラーが表示されます。

これは 2.8 で問題なくコンパイルされます。これを 2.7 で動作させるための回避策はありますか?

編集- これも私のために働いた:

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

scala - 継続に関するヘルプが必要-エラー「非cps位置にcps式が見つかりました」

Scala2.8Continuations-PlugInを使用して次の単純なジェネレーターを構築してみます。次のエラーはどこから発生しますか?

コード:

0 投票する
5 に答える
13157 参照

reflection - リフレクションを介してフィールドの値にアクセスする方法 (Scala 2.8)

次のコードを検討してください。

ここで、リフレクションを介して値とその正しい型を取得しようとします:

field.get(foo) などを試しましたが、java.lang.Object を返すだけで文字列は返しません。メソッドを呼び出したいので、基本的に正しい型が必要です (toCharArray など)。

それを行うための推奨される方法は何ですか?

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

scala - Scala 2.8 の classOf[] は 2.7 とは異なりますか?

私はJavaからのインターフェースを持っています

Scalaに継承されている

Scala 2.7.7 で動作しました。しかし、2.8.0.RC1 では、

java.lang.ClassScala 2.8に入るにはどうすればよいですか?

0 投票する
4 に答える
19840 参照

scala - Scala:デフォルトのケースクラスコンストラクターをオーバーライドすることは可能ですか?

これが可能かどうかは疑問です。私が実際にやりたいことは、val として格納される前に引数の 1 つをチェックして、場合によっては変更することです。

または、オーバーロードを使用して、既定のコンストラクターを非公開にすることもできます。その場合、コンパニオン オブジェクトのデフォルト ファクトリ コンストラクタもプライベートにしたいのですが、どうすればよいでしょうか?

どうもありがとう。

アダム

編集:デフォルトのコンストラクターをプライベートにすると、デフォルトのファクトリーコンストラクターもプライベートになることがわかったので、解決策がありますが、デフォルトのコンストラクターがオーバーライド可能かどうかを知りたいと思っています

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

reflection - java.lang.reflect.Method を Scala 関数に変換する簡単な (慣用的な) 方法はありますか?

リフレクションを介してメソッドを取得し、何らかの方法でそれをターゲット オブジェクトと組み合わせて、Scala の関数のように見えるものとして返すことはできますか (つまり、括弧を使用して呼び出すことができます)? 引数リストは可変です。「ファーストクラス」の関数である必要はありません (質問を更新しました)。f(args) など、構文的に見える関数呼び出しだけです。

これまでの私の試みは次のようになります (これは技術的には疑似コードであり、追加の定義で投稿が混乱するのを避けるためです):

上記により、コンパイラ エラーを回避できましたが、実行時例外が発生しました。

使用例は次のようなものです。

アップデート

args:Any* を args:AnyRef* に変更すると、実行時の問題が実際に修正されたので、上記のアプローチ (修正を含む) は、私が達成しようとしていたことに対してうまく機能します。ここで可変引数に関するより一般的な問題に遭遇したと思います。

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

scala - Scalaで文字列「+」演算子をインポート解除するには?

他の一般的な言語と同様に、「+」演算子が厳密に数値である DSL を作成しています。近いですが、文字列 "+" 演算子が暗黙の変換を台無しにしています。String クラスの演算子をアンインポートするための構文は何ですか?

より明確にするために、これの代わりに:

x を取得したい: Int = 5

それを実現するには、2つのことが必要だと思います。

  • 文字列から「+」の定義を削除(私のスコープ内でアンインポート)します
  • String から Int への暗黙的な変換を定義する

私は最初のステップで立ち往生しています。

ありがとう

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

scala - CPS クラスの Seq[T] の実装

CPS コンテキスト (@cps[Unit]) にある次のクラスを使用すると、Seq 特性をどのように実装できますか? Seq のような標準的な特性を脇に置き、cps-context で map、flatmap、および foreach を実装する必要がありますか?