開発環境
- OS X Mavericks - Apple(OS)
- Xcode 6.0 Beta
- Swift (プログラミング言語)
Head First C ―頭とからだで覚えるCの基本(David Griffiths (著)、Dawn Griffiths (著) 中田 秀基(監訳)(翻訳)、木下 哲也 (翻訳)、オライリージャパン)の5章(構造体、共用体、ビットフィールド: 独自の構造を使う)、コードマグネット(p.256)をSwiftで考えてみる。
コードマグネット(p.256)
コード(Xcode)
main.swift
// // main.swift // sample256 // // Created by kamimura on 9/1/14. // Copyright (c) 2014 kamimura. All rights reserved. // import Foundation enum UnitOfMeasures { case Count, Pounds, Pints var units:String { switch self { case .Count: return "個" case .Pounds: return "ポンド" case .Pints: return "パイント" } } } struct FruitOrder<T> { let name:String let country:String let amount:T let units:UnitOfMeasures func display() { println("\(self.amount)\(self.units.units)の\(self.name)です。") } } class FruitOrder1<T> { let name:String let country:String let amount:T let units:UnitOfMeasures init(name:String, country:String, amount:T, units:UnitOfMeasures) { self.name = name self.country = country self.amount = amount self.units = units } func display() { println("\(self.amount)\(self.units.units)の\(self.name)です。") } } println("構造体") let apple:FruitOrder = FruitOrder(name: "リンゴ", country: "イギリス", amount: 144, units: .Count) let strawberries:FruitOrder = FruitOrder(name: "いちご", country: "スペイン", amount: 17.6, units: .Pounds) let oj:FruitOrder = FruitOrder(name: "オレンジジュース", country: "アメリカ", amount: 10.5, units: .Pints) apple.display() strawberries.display() oj.display() println("クラス") let apple1:FruitOrder1 = FruitOrder1(name: "リンゴ", country: "イギリス", amount: 144, units: .Count) let strawberries1:FruitOrder1 = FruitOrder1(name: "いちご", country: "スペイン", amount: 17.6, units: .Pounds) let oj1:FruitOrder1 = FruitOrder1(name: "オレンジジュース", country: "アメリカ", amount: 10.5, units: .Pints) apple1.display() strawberries1.display() oj1.display()
入出力結果(Console Output, Terminal)
構造体 144個のリンゴです。 17.6ポンドのいちごです。 10.5パイントのオレンジジュースです。 クラス 144個のリンゴです。 17.6ポンドのいちごです。 10.5パイントのオレンジジュースです。 Program ended with exit code: 0
0 コメント:
コメントを投稿