以下代码挂起repl:
(
for {
i <- 1 to 1000000
j <- 2 to 1000000
if i * i == j
} yield i -> j
).take(1)
似乎热切地评价表达式。任何解决方案?
答案 0 :(得分:1)
我会把它变成一个流:
(
for {
i <- Stream.range(1, 1000000)
j <- Stream.range(2, 1000000)
if i * i == j
} yield i -> j
).take(1)