scala裏面的for...yield循環:
下面那段話的意義就是,for 循環中的 yield 會把當前的元素記下來,保存在集合中,循環結束後將返回該集合。Scala 中 for 循環是有返回值的。如果被循環的是 Map,返回的就是 Map,被循環的是 List,返回的就是 List,以此類推。
返回:Vector(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25)
還可以增加表達式,例如if:
返回:
Vector(6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25)
每循環一次,會自動添加一個yield的1*x表達式算出來的值,循環結束後,會返回所有yield的值組成的集合。返回的集合類型和遍歷的類型是一樣的。