Scalaのread-whileループをコーディングする適切な方法は何ですか?

Scalaのread-whileループをコーディングする適切な方法は何ですか?

Scalaで標準のread-whileループを書くのは「適切な」ものですか? 適切には、Javaのような方法ではなくScalaのような方法で書かれたことを意味します。 ここで私はJavaで持っているコードです: MessageDigest md=MessageDigest.getInstance( "MD5"); InputStream input=new FileInputStr…


Scala:Booleanを返すパターンマッチングの短い形式

私はこのようなことをかなり頻繁に書いていました。 a match{case `b`=>// do stuff case_=>// do nothing}いくつかの値がパターンに一致するかどうかを調べる方法がありますか? 私はこの場合if(a== b)// do stuff書くことができますが、パターンがもっと複​​雑な場合はどうすればいいでしょうか?…


Scalaの式とforeachの比較

私はScalaでプログラミングを進めていますが、Pythonの観点から見てみたいですが、 "Python in Scala"をプログラムしたくありません。 私は、制御フローがどのようになるかについてはあまりよく分かりませんfor x in some_iterableでは、私たちfor x in some_iterable使用for x in some_iterableています。私たちはそれを愛し…


ScalaのA<:Bと+ Bの違いは何ですか?

違いは何ですか?[A<: B] そして[+B] スカラ?…


ScalaでClojureの 'let'を同等にする

しばしば私は次のような状況に直面している:私はこれらの3つの機能 def firstFn: Int=... def secondFn(b: Int): Long=... def thirdFn(x: Int, y: Long, z: Long): Long=... 私はcalculate機能も持っています。 私の最初のアプローチは次のようになります。 def calculate(…


機能的なtry&キャッチw/Scala

Scalaでリソースを開き、このメソッド(これはjavaから直接トランスクリプト化されています)よりもvalsを使用するvalsなく、finallyなどを含むメソッドを適用するもっと静かな方法がありますか? var is:FileInputStream=null try{is=new FileInputStream(in) func(is)}catch{case…



Scalaの最もエレガントなリピートループ

私は同等のものを探しています: for(_<- 1 to n) some.code() それは最短で最もエレガントです。 Scalaにはこれに似た何かがありますか? rep(n) some.code() 結局、これは最も一般的な構成要素の1つです。 PS 私はrepを実装するのは簡単だが、私は事前定義されたものを探している。…


ScalaがEitherとvalueの定義を含むfor式のために 'Product'タイプを選択するのはなぜですか?

Optionを使って値を定義してfor内包表記を作成すると、期待通りに動作します。 scala> for(a<- Some(4); b<- Some(5); val p=a*b) yield p res0: Option[Int]=Some(20) 私は値の定義がない場合はEitherと同じことをする: scala> for(a<- Right(4).right; b…


Scalaの理解のための `if`ステートメント

スカラでは、理解の中のif中の条件を専門にすることは可能でしょうか? 私は次のように考えています: val collection: SomeGenericCollection[Int]=... trait CollectionFilter case object Even extends CollectionFilter case object Odd extends CollectionF…


scala - スカラマップforeach

与えられた: val m=Map[String, Int]("a"-> 1, "b"-> 2, "c"-> 3) m.foreach((key: String, value: Int)=> println(">>> key="+key+", value="+value)) なぜコンパイラは文句を言うのですか? error: type mismatch found…




for式 yield for foreach for文 map 使い方 switch match ループ