[解決済み] Scalaの代入が、代入された値ではなく、Unitで評価される動機は何ですか?
2023-06-13 10:17:16
質問
Scalaの代入が、代入された値ではなく、Unitで評価される動機は何でしょうか?
I/Oプログラミングでよくあるパターンは、このようなことをすることです。
while ((bytesRead = in.read(buffer)) != -1) { ...
しかし、これはScalaでは不可能です、なぜなら...
bytesRead = in.read(buffer)
...はbytesReadの新しい値ではなく、Unitを返します。
関数型言語から省くには興味深いことのように思えます。 なぜそうされたのかが不思議です。
どのように解決するのですか?
私は、代入が単位ではなく、割り当てられた値を返すようにすることを提唱しました。 Martin と私はそれについて何度も行き来しましたが、彼の主張は、95% の時間でそれをポップ オフするためだけにスタック上に値を置くことは、バイト コードの無駄であり、パフォーマンスに悪影響を与えるというものでした。
関連
-
[解決済み] Rの代入演算子"="と"<-"の違いは何ですか?
-
[解決済み] Scalaのapply関数とは何ですか?
-
[解決済み] RDDの内容を印刷するには?
-
[解決済み] Scalaにおけるparam: _*の意味とは?
-
[解決済み] Scalaです。ScalaのコレクションにおけるTraversableとIterableの違いは何ですか?
-
[解決済み] Scala型プログラミングリソース
-
[解決済み] なぜ `private val` と `private final val` は違うのですか?
-
[解決済み] 関数型プログラミング(特にScalaとScala API)におけるreduceとfoldLeft/foldの違いとは?
-
[解決済み] sbtのヒープサイズを設定するには?
-
[解決済み] scalaのslickメソッド、今ひとつ理解できない。
最新
-
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です。リスト[Future]からFuture[List]への変換は、失敗したFutureを無視する。
-
[解決済み] Scala の private と protected コンストラクタ
-
[解決済み] Scala の Case Classes のオーバーロード・コンストラクタ?
-
[解決済み] Scalaにおけるparam: _*の意味とは?
-
[解決済み] Scalaの慣用表現「flatmap that s*** 」はどこから来たのか?
-
[解決済み] Scalaでサブアレイを取得する正しい方法は何ですか?
-
[解決済み] Scala。文字列からブール値へのエレガントな変換
-
[解決済み] Scalaで複数の値をパターンマッチさせるには?
-
[解決済み] Scalaの継続性とは何か、なぜ継続性を使うのか?