開発環境
- OS X Mavericks - Apple(OS)
- Xcode 6.0 Beta
- Swift (プログラミング言語)
Head First JavaScript Programming (Eric T. Freeman (著)、 Elisabeth Robson (著)、 O'Reilly Media )のChapter 10(Liberated functions: First Class Functions)、EXERCISE(p.448)をSwiftで考えてみる。
EXERCISE(p.448)
コード(Xcode)
main.swift
// // main.swift // sample448 // // Created by kamimura on 9/10/14. // Copyright (c) 2014 kamimura. All rights reserved. // import Foundation struct Passenger { let name:String let paid:Bool } let passengers:[Passenger] = [ Passenger(name: "Jane Doloop", paid: true), Passenger(name: "Dr. Evel", paid: true ), Passenger(name: "Sue Property", paid: false), Passenger(name: "John Funcall", paid: true) ] func checkNotPaid(passenger:Passenger) -> Bool { return !passenger.paid } func processPassengers(passengers:[Passenger], testFunc:(Passenger) -> Bool) -> Bool { for passenger in passengers { if testFunc(passenger) { return false } } return true } func printPassenger(passenger:Passenger) -> Bool { if checkNotPaid(passenger) { println("\(passenger.name) have not paid.") } else { println("\(passenger.name) have paid") } return false } processPassengers(passengers, printPassenger)
入出力結果(Console Output)
Jane Doloop have paid Dr. Evel have paid Sue Property have not paid. John Funcall have paid Program ended with exit code: 0
0 コメント:
コメントを投稿