क्या वैकल्पिक पैरामीटर मानों के आधार पर सूची फ़िल्टर करने का एक और शानदार तरीका है?वैकल्पिक पैरामीटर मानों के आधार पर एक सूची फ़िल्टर करना
def f(dates: List[Date], start: Option[Long], end: Option[Long]): List[Date] = {
(start, end) match {
case (Some(s), Some(e)) => dates filter (_.getTime > s) filter (_.getTime < e)
case (Some(s), None) => dates filter (_.getTime > s)
case (None, Some(e)) => dates filter (_.getTime < e)
case (None, None) => dates
}
}
तीन वैकल्पिक पैरामीटर मान के साथ
इस 9 मामलों आदि के लिए होता है
बस एक sidenote: यदि आप एक श्रृंखला में एक मोनैडिक निर्माण (एक सूची की तरह) में एकाधिक फ़िल्टर का उपयोग करना चाहते हैं, तो उस सूची में एक दृश्य का उपयोग करें। तिथियां .view.filter (...)। तिथियों के बजाय फ़िल्टर (...)। फ़िल्टर (...)। फ़िल्टर (...) – Guillaume