開発環境
- OS X Mavericks - Apple(OS)
- Xcode 6.0 Beta
- Swift (プログラミング言語)
Head First C ―頭とからだで覚えるCの基本(David Griffiths (著)、Dawn Griffiths (著) 中田 秀基(監訳)(翻訳)、木下 哲也 (翻訳)、オライリージャパン)の5章(構造体、共用体、ビットフィールド: 独自の構造を使う)、コンパイラになってみよう(p.251)をSwiftで考えてみる。
コンパイラになってみよう(p.251)
コード(Xcode)
main.swift
// // main.swift // sample251 // // Created by kamimura on 8/31/14. // Copyright (c) 2014 kamimura. All rights reserved. // import Foundation struct Margarita<T> { let tequila:Double let cointreau:Double let citrus:T } func f(m:Margarita<Double>) { println("\(m.tequila)単位ののテキーラ\n\(m.cointreau)単位のコアントロー\n\(m.citrus)単位のジュース") } var m1:Margarita = Margarita(tequila: 2.0, cointreau: 1.0, citrus: 0.5) var m2 = Margarita(tequila: 2.0, cointreau: 1.0, citrus: 0.5) // 次はエラー // var m3 // 変数の宣言のみで初期化しない場合は型の指定が必要 var m3:Margarita<Double> m3 = Margarita(tequila: 2.0, cointreau: 1.0, citrus: 0.5) let m4:Margarita = Margarita(tequila: 2.0, cointreau: 1.0, citrus: 0.5) let m5 = Margarita(tequila: 2.0, cointreau: 1.0, citrus: 0.5) // 次はエラー // let m6 // let m6:Margarita<Double> // 定数は宣言時に初期化が必要 for m in [m1, m2, m3, m4, m5] { f(m) }
入出力結果(Console Output, Terminal)
2.0単位ののテキーラ 1.0単位のコアントロー 0.5単位のジュース 2.0単位ののテキーラ 1.0単位のコアントロー 0.5単位のジュース 2.0単位ののテキーラ 1.0単位のコアントロー 0.5単位のジュース 2.0単位ののテキーラ 1.0単位のコアントロー 0.5単位のジュース 2.0単位ののテキーラ 1.0単位のコアントロー 0.5単位のジュース Program ended with exit code: 0
0 コメント:
コメントを投稿