開発環境
- OS X Mavericks - Apple(OS)
- Xcode 6.0 Beta
- Swift (プログラミング言語)
Head First C ―頭とからだで覚えるCの基本(David Griffiths (著)、Dawn Griffiths (著) 中田 秀基(監訳)(翻訳)、木下 哲也 (翻訳)、オライリージャパン)の5章(構造体、共用体、ビットフィールド: 独自の構造を使う)、ピラニアパズル(p.223)をSwiftで考えてみる。
ピラニアパズル(p.223)
コード(Xcode)
main.swift
// // main.swift // sample223 // // Created by kamimura on 8/25/14. // Copyright (c) 2014 kamimura. All rights reserved. // import Foundation println("構造体1.") struct Fish { let name:String; let species:String; var teeth:Int; var age:Int } func catalog(fish:Fish) { println("\(fish.name)は\(fish.species)であり、歯は\(fish.teeth)本あります。年齢は\(fish.age)才です。") } var snappy:Fish = Fish(name: "スナッピー", species: "ピラニア", teeth: 69, age: 4) catalog(snappy) println("クラス.") // The Swift Programming Languageによると、クラスには構造体には無い機能があるみたい(例えば継承できるとか) class Fish1 { let name:String let species:String var teeth:Int var age:Int init(name:String, species:String, teeth:Int, age:Int) { self.name = name self.species = species self.teeth = teeth self.age = age } var catalog:String { return "\(self.name)は\(self.species)であり、歯は\(self.teeth)本あります。年齢は\(self.age)才です。" } } var snappy1:Fish1 = Fish1(name: "スナッピー", species: "ピラニア", teeth: 69, age: 4) println(snappy1.catalog) // 最初の構造体で、catalogもselfを使って構造自身に含めた場合 println("構造体2.") struct Fish2 { let name:String; let species:String; var teeth:Int; var age:Int var catalog:String { return "\(self.name)は\(self.species)であり、歯は\(self.teeth)本あります。年齢は\(self.age)才です。" } } var snappy2:Fish2 = Fish2(name: "スナッピー", species: "ピラニア", teeth: 69, age: 4) println(snappy2.catalog)
入出力結果(Console Output, Terminal)
構造体1. スナッピーはピラニアであり、歯は69本あります。年齢は4才です。 クラス スナッピーはピラニアであり、歯は69本あります。年齢は4才です。 構造体2. スナッピーはピラニアであり、歯は69本あります。年齢は4才です。 Program ended with exit code: 0
0 コメント:
コメントを投稿