開発環境
- OS X Mavericks - Apple(OS)
- Xcode 6.0 Beta 6
- Swift (プログラミング言語)
Practical Programming: An Introduction to Computer Science Using Python 3 (Pragmatic Programmers) (Paul Gries (著)、Jennifer Campbell (著)、Jason Montojo (著)、Lynn Beighley (編集)、Pragmatic Bookshelf)のChapter 9(Repeating Code Using Loops)、9.10(Exercises) 9.をSwiftで考えてみる。
9.10(Exercises) 9.
コード(Xcode)
main.swift
// // main.swift // sample9 // // Created by kamimura on 9/11/14. // Copyright (c) 2014 kamimura. All rights reserved. // import Foundation let a = 33...49 let b = 33..<50 for n:Int in a { println(n) } for n:Int in b { println(n) } let c = a.map({(n:Int) in "\(n)"}) let d = b.map({(n:Int) in String(n)}) println("\n".join(c)) println("\n".join(d)) c.forEach(println) d.forEach(println)
array.swift
// // array.swift // array // // Created by kamimura on 8/21/14. // Copyright (c) 2014 kamimura. All rights reserved. // import Foundation extension Array { func indexAt(i:Int) -> T { if i >= 0 { return self[i] } let new_index:Int = self.count + i return self[new_index] } func slice(start:Int = 0, end:Int? = nil) -> Array { var new_start = start >= 0 ? start : self.count + start var new_end:Int if end == nil { new_end = self.count } else if end! >= 0 { new_end = end! } else { new_end = self.count + end! } var result:Array = [] if new_start >= new_end { return [] } for i in new_start..<new_end { result.append(self[i]) } return result } func forEach(f:(T) -> ()) { for e in self { f(e) } } } func sum(nums:[Int]) -> Int { return nums.reduce(0, combine: {(x, y) in x + y}) }
入出力結果(Console Output)
33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 Program ended with exit code: 0
0 コメント:
コメントを投稿