假設有兩個功能findUser(id:String):Option[User]
和findAddress(user:User):Option[Address]
援引如下:添加記錄,如果返回值是無
for(user <- findUser(id); address <- findAddress(user)) println(address)
現在我想的錯誤記錄添加到這個for-comprehension
。如果找不到user
或address
,我想調用log(msg:String)
函數。
for(user <- findUser(id) ifNone log("user not found"); address <- findAddress(user) ifNone log("address not found")) println(address)
我可以在不更改功能簽名的情況下做到嗎?