[解決済み] Scalaにおけるparam: _*の意味とは?
2022-12-02 06:02:52
質問
Scala (2.9.1)に慣れていないため、私は
List[Event]
があり、それを
Queue[Event]
にコピーしたいのですが、次の構文では
Queue[List[Event]]
を代わりに生成します。
val eventQueue = Queue(events)
なぜか、以下は動作します。
val eventQueue = Queue(events : _*)
しかし、私はそれが何を行うのか、なぜそれが動作するのかを理解したいのですが?私はすでに
Queue.apply
関数のシグネチャを見ました。
def apply[A](elems: A*)
で、1回目の試みがうまくいかない理由はわかったけど、2回目の試みはどういうことなの?というのは
:
で、そして
_*
はこの場合、どうして
apply
関数は単に
Iterable[A]
?
どのように解決するのですか?
a: A
はタイプアスクリプションです。
Scalaの型定義は何のためにあるのですか?
: _*
は型付けの特別なインスタンスで、シーケンス型の単一の引数を可変引数シーケンス、すなわちvarargsとして扱うようにコンパイラに指示します。
を作成することは完全に有効です。
Queue
を使用して
Queue.apply
はシーケンスまたはイテラブルである単一の要素を持つので、これはまさに単一の
Iterable[A]
.
関連
-
[解決済み] JavaScriptで "use strict "は何をするのか、その根拠は?
-
[解決済み] パラメータに**(ダブルスター/アスタリスク)、*(スター/アスタリスク)がありますが、これはどういう意味ですか?
-
[解決済み] なぜ ++[[]][+[] +[+[]] は "10" という文字列を返すのでしょうか?
-
[解決済み] C言語における「static」の意味とは?
-
[解決済み] Pythonの "at"(@)マークは何をするものですか?
-
[解決済み] 関数呼び出しにおけるstarとdoublestarの演算子の意味は?
-
[解決済み] Rubyのmap(&:name)ってどういう意味?
-
[解決済み] カプセル化された匿名関数の構文について説明します。
-
[解決済み] scalaの列挙を理解する
-
[解決済み] scala で複数の case class をマッチングさせる
最新
-
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のforループは下降か減少か?
-
[解決済み] Scalaのパターンマッチはなぜ変数で機能しないのですか?
-
[解決済み] Scalaです。リスト[Future]からFuture[List]への変換は、失敗したFutureを無視する。
-
[解決済み] scalaは推論される型の「許容される複雑さ」にどのような制限を設けているのでしょうか?
-
[解決済み] リスト[Option]からNoneを除外するには?
-
[解決済み] 単純な case class の順序を定義する簡単な慣用的方法
-
[解決済み] Any、AnyVal、AnyRef、Objectの関係と、Javaコードでのマッピングについて教えてください。
-
[解決済み] HDFSではなく、ローカルファイルをsc.textFileで読み込む方法
-
[解決済み] 機能的デザインパターン【終了しました
-
[解決済み] sbtの依存関係ツリーを見るには?