คำถามติดแท็ก for-comprehension

5
สับสนกับความเข้าใจในการแปลง flatMap / Map
ดูเหมือนฉันจะไม่เข้าใจแผนที่และ FlatMap จริงๆ สิ่งที่ฉันไม่เข้าใจคือความเข้าใจคือลำดับของการเรียกซ้อนไปยังแผนที่และ flatMap อย่างไร ตัวอย่างต่อไปนี้มาจากFunctional Programming ใน Scala def bothMatch(pat:String,pat2:String,s:String):Option[Boolean] = for { f <- mkMatcher(pat) g <- mkMatcher(pat2) } yield f(s) && g(s) แปลเป็น def bothMatch(pat:String,pat2:String,s:String):Option[Boolean] = mkMatcher(pat) flatMap (f => mkMatcher(pat2) map (g => f(s) && g(s))) วิธี mkMatcher ถูกกำหนดไว้ดังนี้: def mkMatcher(pat:String):Option[String => Boolean] = pattern(pat) …
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.