What is an idiomatic way to implement the following code in Scala?
for (int i = 1; i < 10; i+=2) {
// i = 1, 3, 5, 7, 9
bool intercept = false;
for (int j = 1; j < 10; j+=3) {
// j = 1, 4, 7
if (i==j) intercept = true
}
if (!intercept) {
System.out.println("no intercept")
}
}
You can use Range
and friends:
if (((1 until 10 by 2) intersect (1 until 10 by 3)).isEmpty)
System.out.println("no intercept")
This doesn't involve a nested loop (which you refer to in the title), but it is a much more idiomatic way to get the same result in Scala.
Edit: As Rex Kerr points out, the version above doesn't print the message each time, but the following does:
(1 until 10 by 2) filterNot (1 until 10 by 3 contains _) foreach (
_ => println("no intercept")
)
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With