開発環境
- OS X Mavericks - Apple(OS)
- Xcode 6.0 Beta
- Swift (プログラミング言語)
Head First C ―頭とからだで覚えるCの基本(David Griffiths (著)、Dawn Griffiths (著) 中田 秀基(監訳)(翻訳)、木下 哲也 (翻訳)、オライリージャパン)の1章(Cを始める: Cの世界に飛び込む)、エクササイズ(p.35)をSwiftで考えてみる。
エクササイズ(p.35)
コード(Xcode)
main.swift
// // main.swift // sample35 // // Created by kamimura on 8/12/14. // Copyright (c) 2014 kamimura. All rights reserved. // import Foundation // 標準入力(STDIN)から読み込む func input(msg:String = "") -> String { print(msg) var in_fh = NSFileHandle.fileHandleWithStandardInput() var data = in_fh.availableData var s = NSString(data: data, encoding: NSUTF8StringEncoding) s = s.substringToIndex(s.length - 1) return s } var name:NSString var count:Int = 0 do { println("カード名を入力してください:") name = input() var val:Int = 0 switch name.substringToIndex(1)! { case "K", "Q", "J": val = 10 case "A": val = 11 case "X": continue default: val = name.integerValue if val < 1 || val > 10 { println("整数は1から10の範囲を入力してください。") continue } } switch val { case 3...6: count += 1 case 10: count -= 1 default:break } println("現在のカウント: \(count)") } while name.substringToIndex(1) != "X"
入出力結果(Console Output)
カード名を入力してください: K 現在のカウント: -1 カード名を入力してください: Q 現在のカウント: -2 カード名を入力してください: J 現在のカウント: -3 カード名を入力してください: A 現在のカウント: -3 カード名を入力してください: 10 現在のカウント: -4 カード名を入力してください: 7 現在のカウント: -4 カード名を入力してください: 6 現在のカウント: -3 カード名を入力してください: 3 現在のカウント: -2 カード名を入力してください: 2 現在のカウント: -2 カード名を入力してください: 1 現在のカウント: -2 カード名を入力してください: 0 整数は1から10の範囲を入力してください。 カード名を入力してください: 10 現在のカウント: -3 カード名を入力してください: 11 整数は1から10の範囲を入力してください。 カード名を入力してください: X Program ended with exit code: 0
0 コメント:
コメントを投稿