//
// main.swift
// SwiftGrammarStudy
//
// Created by dongway on 14-6-6.
// Copyright (c) 2014年 dongway. All rights reserved.
//
import Foundation
/*
枚举
*/
enum Rank: Int {
case Ace = 1
case Three, Four, Five, Six, Seven, Eight, Nine, Ten
case Jack, Queen, King
func simpleDescrition() -> String {
//注意枚举这里的switch语法
switch self {
case .Ace:
return "ace"
case .Jack:
return "jack"
case .Queen:
return "queen"
case .King:
return "king"
default:
return String(self.toRaw())
}
}
}
let ace = Rank.Ace //by gashero
let aceRawValue = ace.toRaw()//返回Ace所在的行
let value = Rank.Three.toRaw()
println("1:\(ace)")
println("1:\(aceRawValue)")
println("1:\(value)")
if let convertedRank = Rank.fromRaw(1){
let threeDesc = convertedRank.simpleDescrition()
println("1:\(threeDesc)")
}
println("1:\(Rank.Jack.simpleDescrition())")
enum Suit {
case Spades, Hearts, Diamonds, Clubs
func simpleDescription() -> String {
switch self {
case .Spades:
return "spades"
case .Hearts:
return "hearts"
case .Diamonds:
return "dismonds"
case .Clubs:
return "clubs"
}
}
}
struct Card {
var rank: Rank
var suit: Suit
func simpleDescription() -> String {
return "The \(rank.simpleDescrition()) of \(suit.simpleDescription())"
}
}
let threeOfSpades:Card = Card(rank: .Three, suit: .Spades)
let threeOfSpadesDescription = threeOfSpades.simpleDescription()
println("2:\(threeOfSpadesDescription)")