開発環境
- OS X Mavericks - Apple(OS)
- Xcode 6.0 Beta
- Swift (プログラミング言語)
Head First JavaScript Programming (Eric T. Freeman (著)、 Elisabeth Robson (著)、 O'Reilly Media )のChapter 8(Bringing it All Together: Building an app)、EXERCISE(p.330)をSwiftで考えてみる。
EXERCISE(p.330)
コード(Xcode)
main.swift
//
// main.swift
// sample330
//
// Created by kamimura on 8/29/14.
// Copyright (c) 2014 kamimura. All rights reserved.
//
import Foundation
let view:Dictionary<String, (AnyObject, AnyObject?) -> ()> = [
"displayMessage":{(msg, a) -> () in println(msg)},
"displayHit":{(row, col) -> () in println("Hit!(\(row), \(col!))")},
"displayMiss":{(row, col) -> () in println("Miss!(\(row), \(col!))")}]
view["displayMessage"]?("Dictionary", nil)
view["displayHit"]?(1, 2)
view["displayMiss"]?(3, 4)
struct View1 {
let displayMessage:(String) -> ()
let displayHit:(Int, Int) -> ()
let displayMiss:(Int, Int) -> ()
}
let view1:View1 = View1(
displayMessage: {(msg) -> () in println(msg)},
displayHit: {(row, col) -> () in println("Hit!(\(row), \(col))")},
displayMiss: {(row, col) -> () in println("Miss!(\(row), \(col))")})
view1.displayMessage("struct")
view1.displayHit(1, 2)
view1.displayMiss(3, 4)
class View2 {
func displayMessage(msg:String) {
println(msg)
}
func displayHit(row:Int, col:Int) {
println("Hit!(\(row), \(col))")
}
func displayMiss(row:Int, col:Int) {
println("Miss!(\(row), \(col))")
}
}
let view2:View2 = View2()
view2.displayMessage("class")
view2.displayHit(1, col: 2)
view2.displayMiss(3, col: 4)
入出力結果(Console Output)
Dictionary Hit!(1, 2) Miss!(3, 4) struct Hit!(1, 2) Miss!(3, 4) class Hit!(1, 2) Miss!(3, 4) Program ended with exit code: 0
0 コメント:
コメントを投稿