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