問題タブ [scala-2.13]

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 に答える
57 参照

scala - ビューを ArraySeq に返す最良の方法は何ですか?

IndexedSeqViewを介して から作業する場合、操作後ArraySeqにビューを に戻すときに、配列のコピーが 1 つだけ (または割り当てられた新しい配列が少なくとも 1 つだけ) あるのが理想的です。 に戻るための最も効率的な方法は何ですか?ArraySeq
ArraySeq

頭に浮かぶいくつかのオプション:

有望に思え.toArrayますが、ビューが配列上にあり、高速な配列コピーを使用して新しい配列を作成できることを知っていますか?

これはO(n)だと思います

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

scala - scala パス依存型を関数 codomain として使用する場合、その関数のエイリアスを追加できないのはなぜですか?

簡単な例を次に示します。

これにより、コンパイルエラーが発生します。

これはどこ(some other)から来たのですか?型選択の明確なルール (理論的には scala 3 で解決されるはず) によって引き起こされるコンパイラのバグですか?

更新 1申し訳ありませんP#Reprが、 を型選択と呼ぶべきではないことに気付きました。これはval p: P;p.Repr、 のみを参照する必要があります。

  • この文法の名前も知らないけど、ずっと使い続けてきた

  • DOT計算でも定義されていません。だからscala 3のサポートは疑わしい

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

scala - self 型を使用するとメソッド型が混乱する

次のコードは Scala 2 でコンパイルされません (2.13.7 および Scala 2.12.15 でテスト済み):

コードは Scala 3 で問題なくコンパイルされます。Scala 2 では次のエラーが発生します。

値の名前は AttributeBase のメンバーではありません

extendsself 型の代わりに を使用すると、正常にコンパイルされます。

別の可能な回避策は次のとおりです。

の型が であるDerived.attributedと見なされ、AttributeBaseではないのはなぜAttributeですか? これは Scala コンパイラのバグですか、それとも Scala 2 の制限ですか?