問題タブ [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.
scala - ビューを ArraySeq に返す最良の方法は何ですか?
IndexedSeqView
を介して から作業する場合、操作後ArraySeq
にビューを に戻すときに、配列のコピーが 1 つだけ (または割り当てられた新しい配列が少なくとも 1 つだけ) あるのが理想的です。
に戻るための最も効率的な方法は何ですか?ArraySeq
ArraySeq
頭に浮かぶいくつかのオプション:
有望に思え.toArray
ますが、ビューが配列上にあり、高速な配列コピーを使用して新しい配列を作成できることを知っていますか?
これはO(n)だと思います
scala - scala パス依存型を関数 codomain として使用する場合、その関数のエイリアスを追加できないのはなぜですか?
簡単な例を次に示します。
これにより、コンパイルエラーが発生します。
これはどこ(some other)
から来たのですか?型選択の明確なルール (理論的には scala 3 で解決されるはず) によって引き起こされるコンパイラのバグですか?
更新 1申し訳ありませんP#Repr
が、 を型選択と呼ぶべきではないことに気付きました。これはval p: P;p.Repr
、 のみを参照する必要があります。
この文法の名前も知らないけど、ずっと使い続けてきた
DOT計算でも定義されていません。だからscala 3のサポートは疑わしい
scala - self 型を使用するとメソッド型が混乱する
次のコードは Scala 2 でコンパイルされません (2.13.7 および Scala 2.12.15 でテスト済み):
コードは Scala 3 で問題なくコンパイルされます。Scala 2 では次のエラーが発生します。
値の名前は AttributeBase のメンバーではありません
extends
self 型の代わりに を使用すると、正常にコンパイルされます。
別の可能な回避策は次のとおりです。
の型が であるDerived.attributed
と見なされ、AttributeBase
ではないのはなぜAttribute
ですか? これは Scala コンパイラのバグですか、それとも Scala 2 の制限ですか?