giống như câu hỏi tương tự: Convert match statement to partial function when foreach is used. Bây giờ tương tự, IntelliJ yêu cầu tôi cải thiện mã của tôi. Sự khác biệt là, mà tôi sử dụng giá trị cho phù hợp:scala: chuyển đổi câu lệnh đối sánh thành mẫu phù hợp với chức năng ẩn danh - với các giá trị
val matchMe = "Foo"
keys.foreach(key =>
key match {
case `matchMe` => somethingSpecial()
case _ => somethingNormal(key, calcWith(key))
})
Refactoring này cho một chức năng mô hình khớp nặc danh sẽ giống như thế:
keys.foreach {
case `matchMe` => somethingSpecial(_)
case _ => somethingNormal(_, calcWith(_)) //this doesn't work
}
Lưu ý rằng trong trường hợp thứ hai, tôi không thể sử dụng _
vì tôi cần nó hai lần. Có cách nào để sử dụng chức năng phù hợp với mẫu ẩn danh ở đây không?
'f (_)' là 'x => f (x)'. Và 'ks foreach {case _ => f (_)}' không phải là 'ks foreach {case x => f (x)}'. –
Chết tiệt. Thats thực sự không mới với tôi .. Cảm ơn rất nhiều Marth! –