reactive programming 2.3 loop

  1. 实现WHILE函数

def WHILE(condition: => Boolean)(command: => Unit): Unit =
  if (condition) {
  command
  WHILE(condition)(command)
  }
  else ()

2.实现repeat函数

package week2

object LOOP extends App{
  
  def repeat (command: => Unit) (condition: => Boolean): Unit = {
    command
    if (condition) ()
    else repeat(command)(condition)
  }
  
  var i = 0
  repeat({i = i+1; println(i)})(i == 10)

}

体会到了()类型在scala中的妙用

3.for loop被翻译成repeat

for (i <- 1 until 3; j <- ”abc”) println(i + ” ” + j)
(1 until 3) foreach (i => ”abc” foreach (j => println(i + ” ” + j)))
//注意 for loop和for语句是不一样的

你可能感兴趣的:(scala)