如何在不运行Swift的情况下在Swift中定义函数

时间:2014-12-17 10:31:09

标签: swift

从找到here on stackoverflow的Simple C程序开始,我在Swift中再次完成了这个代码:

import Foundation

// variables and constants:

var dice1, dice2: UInt32
var score, scoreToWin, diceSum: Int
dice1 = 0
dice2 = 0
diceSum = 0

// functions:

func rollDice() ->Int {
  dice1 = arc4random() % 6 + 1
  dice2 = arc4random() % 6 + 1
  diceSum = Int(dice1 + dice2)
  println("\(diceSum)")
  return diceSum
}

// main:

score = rollDice()

println("\(dice1) \(dice2) \(score)")

switch score {
  case 7, 11:
    println("score=\(score)\nYou WIN")
  case 2, 3, 12:
    println("score=\(score)\nYou LOOSE")
  default:
    println("You have to roll a \(score) to WIN")
    do {
      scoreToWin = score
      diceSum = rollDice()
    if diceSum == 7 { println("You LOOSE") }
    else if diceSum == scoreToWin { println("You WIN") }
    } while (diceSum != scoreToWin && diceSum != 7)
}

这是一个可能的输出:

  • 6
  • 3 3 6
  • 你必须滚动6到WIN
  • 6
  • 你赢了
  • 程序以退出0结束

我没想到第一行输出,因为第一行表示函数rollDice()在定义时运行。 如何在不实际运行的情况下定义函数?

1 个答案:

答案 0 :(得分:5)

score = rollDice()会打印6您所看到的println("\(diceSum)"),因为rollDice方法正在执行{。}}。

声明方法不会运行。不是快速的,也不是我能想到的任何其他语言。