開発環境
- OS X Mavericks - Apple(OS)
- Xcode 6.0 Beta
- Swift (プログラミング言語)
Head First C ―頭とからだで覚えるCの基本(David Griffiths (著)、Dawn Griffiths (著) 中田 秀基(監訳)(翻訳)、木下 哲也 (翻訳)、オライリージャパン)の6章(データ構造と動的メモリ: 架け橋を築く)、コードマグネット(p.273)をSwiftで考えてみる。
コードマグネット(p.273)
コード(Xcode)
main.swift
// // main.swift // sample273 // // Created by kamimura on 9/3/14. // Copyright (c) 2014 kamimura. All rights reserved. // import Foundation // 構造体は再帰的に定義できないみたい。以下はエラーになった //struct Island { // let name:String // let opens:String // let closes:String // var next:Island? = nil //} class Island { let name:String let opens:String let closes:String var next:Island? init(name:String, opens:String, closes:String, island:Island? = nil) { self.name = name self.opens = opens self.closes = closes self.next = island } func display() { println("名前:\(self.name) 営業時間:\(self.opens)-\(self.closes)") self.next?.display() } } var amity:Island = Island(name: "アミティ", opens: "9:00", closes: "17:00") var craggy:Island = Island(name: "クラッギー", opens: "9:00", closes: "17:00") var isla_nublar:Island = Island(name: "イスラヌブラル", opens: "9:00", closes: "17:00") var shutter:Island = Island(name: "シャッター", opens: "9:00", closes: "17:00") var skull:Island = Island(name: "スカル", opens: "9:00", closes: "17:00") amity.next = craggy craggy.next = isla_nublar isla_nublar.next = shutter shutter.next = skull amity.display()
入出力結果(Console Output, Terminal)
名前:アミティ 営業時間:9:00-17:00 名前:クラッギー 営業時間:9:00-17:00 名前:イスラヌブラル 営業時間:9:00-17:00 名前:シャッター 営業時間:9:00-17:00 名前:スカル 営業時間:9:00-17:00 Program ended with exit code: 0
0 コメント:
コメントを投稿