開発環境
- OS X Mavericks - Apple(OS)
- Xcode 6.0 Beta 6
- Swift (プログラミング言語)
Head First C ―頭とからだで覚えるCの基本(David Griffiths (著)、Dawn Griffiths (著) 中田 秀基(監訳)(翻訳)、木下 哲也 (翻訳)、オライリージャパン)の7章(高度な関数: 関数を最大限に活用する)、自分で考えてみよう(p.339)をSwiftで考えてみる。
自分で考えてみよう(p.339)
コード(Xcode)
main.swift
// // main.swift // sample339 // // Created by kamimura on 9/10/14. // Copyright (c) 2014 kamimura. All rights reserved. // import Foundation enum ResponseType { case Dump, SecondChance, Marriage } struct Response { let name:String let response_type:ResponseType } func dump(r:Response) { println("\(r.name)さんへ") println("残念ながら、前回のデートの結果、") println("再度お会いすることはないとの連絡を受けました。") } func secondChance(r:Response) { println("\(r.name)さんへ") println("よいお知らせです。前回のデートの結果、") println("もう一度お会いしたいとの連絡を受けました。至急ご連絡ください。") } func marriage(r:Response) { println("\(r.name)さんへ") println("おめでとうございます!前回のデートの結果、") println("結婚を申し込みたいとの連絡を受けました。") } let replies:[(Response) -> ()] = [dump, secondChance, marriage] let r:[Response] = [ Response(name: "マイク", response_type: .Dump), Response(name: "ルイス", response_type: .SecondChance), Response(name: "マット", response_type: .SecondChance), Response(name: "ウィリアム", response_type: .Marriage) ] for res:Response in r { replies[res.response_type.hashValue](res) }
入出力結果(Console Output, Terminal)
マイクさんへ 残念ながら、前回のデートの結果、 再度お会いすることはないとの連絡を受けました。 ルイスさんへ よいお知らせです。前回のデートの結果、 もう一度お会いしたいとの連絡を受けました。至急ご連絡ください。 マットさんへ よいお知らせです。前回のデートの結果、 もう一度お会いしたいとの連絡を受けました。至急ご連絡ください。 ウィリアムさんへ おめでとうございます!前回のデートの結果、 結婚を申し込みたいとの連絡を受けました。 Program ended with exit code: 0
0 コメント:
コメントを投稿