[解決済み] Scalaの''って何?
2022-03-09 17:05:10
質問
勉強中です
Scala
使用
IntelliJ
IDEです。
クラスをサブスクライブすると
Element
をオーバーライドして
contents
メソッドに対して、IDEはデフォルトの実装を提供しました。
contents
メソッドを定義し
???
以下、書籍に掲載されているコード
Programming in Scala, 3rd edition
エレメント
abstract class Element {
def contents: Array[String]
def height = contents.length
def width = if (height == 0) 0 else contents(0).length
}
ArrayElement
class ArrayElement(cont: Array[String]) extends Element {
override def contents: Array[String] = ??? // impl provided by IDE
}
プログラムの実行には問題がないのですが、メソッドにアクセスすると以下のような例外が発生します。
Exception in thread "main" scala.NotImplementedError: an implementation is missing
at scala.Predef$.$qmark$qmark$qmark(Predef.scala:284)
at org.saravana.scala.ArrayElement.contents(ScalaTest.scala:65)
とは何か、誰か説明してください。
???
とその使い方を教えてください。
解決方法は?
???
はプレースホルダーとして設計されており、メソッドで定義された
Predef
(これはデフォルトで自動的にインポートされます)
その定義は次のとおりです。
def ??? : Nothing = throw new NotImplementedError
そのため、戻り値の型は
Nothing
を投げるだけです。
NotImplementedError
. この定義により、定義したがまだ実装していないけれどもプログラムをコンパイルできるようにしたいメソッドのプレースホルダー実装として使用することができます。
Nothing
はすべての型のサブタイプであり、そのため
???
は、どのような型が想定されていても有効な実装です。
関連
-
[解決済み] java.lang.NoClassDefFoundError: scala/Product$class
-
[解決済み] Sparkです。CoarseGrainedSchedulerが見つかりませんでした。
-
[解決済み] Scala: スライド(N,N) vs グループ化(N)
-
[解決済み] Scala 無名クラスでextendsを使用する方法
-
[解決済み] Scalaのオブジェクトとクラスの違い
-
[解決済み] Scalaのapply関数とは何ですか?
-
[解決済み】タスクがシリアライズされない:オブジェクトではなくクラスに対してのみクロージャの外で関数を呼び出すとjava.io.NotSerializableExceptionが発生する
-
[解決済み] 縮小、折りたたみ、スキャン(左/右)?
-
[解決済み] Scala:1ステートメントで文字列をファイルに書き込む
-
[解決済み] Scalaのパターンマッチングシステムで比較演算子を使う
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] Scalaでループから抜け出すにはどうしたらいいですか?
-
[解決済み] Scalaで定数メンバを定義するには?
-
[解決済み] Scalaの「コンテキストバウンド」とは何ですか?
-
[解決済み] NoClassDefFoundError: org/apache/hadoop/fs/StreamCapabilities (s3データをsparkで読み込む際に発生します。
-
[解決済み】Scalaでリスト内のアイテムを取得する?
-
[解決済み】ScalaでVectorを選択するのはどんなとき?
-
[解決済み】Scalaの名前による呼び出しと値による呼び出し、明確化の必要性
-
[解決済み】ScalaのJavaConvertersとJavaConversionsの違いは何ですか?
-
[解決済み] Scalaで環境変数を読み込む方法
-
[解決済み] データセットにカスタムオブジェクトを格納する方法は?