開発環境
- 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 コメント:
コメントを投稿