2010-02-05 40 views
11

Có thể gán các thành viên tuple song song trong Scala hay không. nếu không có một kỹ thuật khác để thực hiện điều gì đó tương tự?Scala: Việc gán song song các bộ phận

val players = List(
    new Player("Django Reinhardt", 42), 
    new Player("Sol Hoopii", 57), 
    new Player("Marc Ribot", 64) 
) 

val winners, losers = players.partition(p => p.score > 50) 

// winners = List(Player name:Sol Hoopii score: 57, Player name:Marc Ribot score: 64) 
// losers = List(Player name:Django Reinhardt score: 42) 
+0

nếu bạn không biết bạn có thể sử dụng ký hiệu ngắn tay: players.partition (_. Score> 50) – Schildmeijer

Trả lời

20
val winners, losers = players.partition(p => p.score > 50) 

Assignes sự (Danh sách, danh sách) tuple để hai biến. Nếu bạn muốn giải nén tuple, bạn phải sử dụng

val (winners, losers) = players.partition(p => p.score > 50) 

Chính xác những gì bạn muốn. :-)

+0

Cảm ơn tuyệt vời Malax;) –

+0

+1 để chỉ ra cú pháp không có dấu ngoặc đơn. Hay đúng hơn là, nếu tôi _could_ trao thêm một phiếu bầu, tôi sẽ. :-) –

+0

Tôi đề nghị, tuy nhiên, bạn cũng chỉ ra việc phân công tuple hoạt động vì nó thực sự là một mẫu phù hợp. –

Các vấn đề liên quan