草庐IT

flatMaps

全部标签

rx-java - 如何在没有 .flatMap 的情况下控制流,这会破坏 react 流,从而阻止 distinctUntilChanged 等运算符在整个流上工作

我想为State的不同实现处理不同的可观察逻辑链。这可以通过密封类/代数数据类型/联合+.flatMap()轻松实现,但这会破坏流,其中像.distinctUntilChanged()这样的运算符只能工作在.flatMap()函数中,而不是在整个流本身中。sealedclassState{objectLoading:State()dataclassLoaded(valvalue:Int):State()}@TestfundistinctTest(){valrelay=PublishRelay.create()relay.flatMap{funhandle(state:State):Ob

collections - kotlin中flatMap vs map的用例是什么

在https://try.kotlinlang.org/#/Kotlin%20Koans/Collections/FlatMap/Task.kt它有使用flatMap和map的示例似乎两者都在做同样的事情,是否有示例显示使用flatMap和map的区别?数据类型:dataclassShop(valname:String,valcustomers:List)dataclassCustomer(valname:String,valcity:City,valorders:List){overridefuntoString()="$namefrom${city.name}"}dataclass

collections - kotlin中flatMap vs map的用例是什么

在https://try.kotlinlang.org/#/Kotlin%20Koans/Collections/FlatMap/Task.kt它有使用flatMap和map的示例似乎两者都在做同样的事情,是否有示例显示使用flatMap和map的区别?数据类型:dataclassShop(valname:String,valcustomers:List)dataclassCustomer(valname:String,valcity:City,valorders:List){overridefuntoString()="$namefrom${city.name}"}dataclass

swift - flatMap API 合约如何将可选输入转换为非可选结果?

这是flatMap在Swift3.0.2中的约定publicstructArray:RandomAccessCollection,MutableCollection{publicfuncflatMap(_transform:(Element)throws->ElementOfResult?)rethrows->[ElementOfResult]}如果我采用[String?]数组,flatMap返回[String]letalbums=["Fearless",nil,"SpeakNow",nil,"Red"]letresult=albums.flatMap{$0}type(of:resul

arrays - 理解 compactMap 和 flatMap 的问题

我已经从多个教程中学习了flatMap/compactMap用于flattenarrayofarray但在我的情况下它不起作用或者我没有正确理解它.letmyArray=[["Raja","Kumar",nil,"Waqas"],["UAE","SINGAPORE","dUBAI","HONGKONG"]]letfinal=myArray.compactMap{$0}print("Result:\(final)")输出:Result:[[Optional("Raja"),Optional("Kumar"),nil,Optional("Waqas")],[Optional("UAE"),

swift - 如何使嵌套的 flatMap 和 map 更易于理解

假设,我们有一个结构M:publicstructM{letvalue:Tpublicinit(_value:T){self.value=value}publicfuncmap(f:T->U)->M{returnM(f(value))}publicfuncflatMap(f:T->M)->M{returnf(value)}}和一些计算值(T)并将其作为包含M的包装值返回的函数:functask1()->M{returnM(1)}functask2(value:Int=2)->M{returnM(value)}functask3(value:Int=3)->M{returnM(value)

Swift 2.0 flatMap 用法

当我发现以下几行时,我正在阅读Apple作为教程生成的文件中包含的代码(“AutoLayoutCookbook”):letrecipies:[Recipe]=fileContents.flatMap{recipeDatain//Fetchtherecipeinformation.guardlettitle=recipeData["Title"],descriptionFileName=recipeData["Document"],identifierString=recipeData["Identifier"]else{assertionFailure("Unabletofetchre

ios - Swift 中的 FlatMap 和 Init

结构我尝试重新创建ChrisEdihoff在dotSwift2016Demo中提供的演示中的代码。这是代码。structList{letname:Stringletid:Int}extensionList{init?(json:[String:AnyObject]){guardletname=json["name"]as?String,letid=json["id"]as?Intelse{returnnil}self.name=nameself.id=id}}letlistData=json["data"]as?[[String:AnyObject]]到目前为止一切似乎都很好。但这就是

swift - Map 和 flatMap 在 Swift 1.2 中可选展开的区别

map和flatMap都是在ImplicitlyUnwrappedOptional上定义的,但根据文档,它们的定义(显然)不同:funcmap(f:@noescape(T)->U)->U!Ifself==nil,returnsnil.Otherwise,returnsf(self!).funcflatMap(f:@noescape(T)->U!)->U!Returnsf(self)!iffselfandf(self)arenotnil.我试着用一个简单的例子来使用它们:letnumber:Int?=1letres1=number.map{$0+1}.map{$0+1}letres2=n

ios - Swift flatMap 和泛型

我正在尝试使用flatMap构建一个Resource在Swift中,但不断出现奇怪的错误,并且仅在我强制转换时才有效。Resource:publicstructResource{letrecord:CKRecordletparser:[String:AnyObject]->T?}工作代码:publicfuncbuildResource(resource:Resource)->T?{vardataJson:[String:AnyObject]=[:]dataJson["recordID"]=resource.record.recordIDfornameinresource.record.