私が最初にScalaを見始めたとき、私は理解の見栄えが気に入っていました。彼らは、私がJava 5から慣れていたforeachループのように思えましたが、機能的な制限と多くの甘い構文上の素敵さがありました。Scalaの解説:重要な機能や構文的な砂糖?
しかし、私はScalaのスタイルを吸収してきたように、私は私が-comprension使用することができますたびに、私が代わりにmap
、flatMap
、filter
、reduce
とforeach
を使用していことがわかります。コードの意図は、隠された潜在的な驚きの可能性がより少なく、そのように私には明らかになり、通常は短いコードになります。
私が知っている限り、for-comprehensionsは常にこれらのメソッドにコンパイルされているので、私は疑問に思っています:実際には何ですか?私はいくつかの機能的なrevalation(それは初めてではない)が欠けていますか? for-comprehensionsは、他の機能ではできないこと、あるいは少なくとも少なくとも不器用なことをするでしょうか?彼らは特定のユースケースの下で輝いていますか?それは本当に個人的な好みの問題ですか?
:
foreachのと比べfor ((key, value) <- map) println (key + "-->" + value)
/1052476/can-someone-explain-scalas-yield。その質問は、「収穫」が何をしているのか疑問に思っていました。答えは同じです。 –