開発環境
- OS X Mavericks - Apple(OS)
- Xcode 6.0 Beta
- Swift (プログラミング言語)
Practical Programming: An Introduction to Computer Science Using Python 3 (Pragmatic Programmers) (Paul Gries (著)、Jennifer Campbell (著)、Jason Montojo (著)、Lynn Beighley (編集)、Pragmatic Bookshelf)のChapter 7(Using Methods)、7.6(Exercises) 3, 4, 5.をSwiftで考えてみる。
7.6(Exercises) 3, 4, 5.
コード(Xcode)
string.swift
//
// string.swift
// string
//
// Created by kamimura on 8/10/14.
// Copyright (c) 2014 kamimura. All rights reserved.
//
import Foundation
extension String {
var swapcaseString:String {
var result: String = ""
for ch in self {
let s = String(ch)
result += s.uppercaseString == s ? s.lowercaseString : s.uppercaseString
}
return result
}
var isUpper:Bool { return self.uppercaseString == self }
var isLower:Bool { return self.lowercaseString == self }
func count(sub:String) -> Int {
var result:Int = 0
var s = self
let index:String.Index = "a".endIndex
while s != "" {
if s.hasPrefix(sub) {
result += 1
s = s.substringFromIndex(sub.endIndex)
} else {
s = s.substringFromIndex(index)
}
}
return result
}
func find(sub:String, start:Int = 0, end:Int? = nil) -> Int {
var s = self as NSString
var s_temp = s
let end_temp:Int = end ? end! : s.length
for i in start..<end_temp {
if (s_temp.hasPrefix(sub)) {
return i
}
s_temp = s.substringFromIndex(i + 1) as NSString
}
return -1
}
}
main.swift
//
// main.swift
// sample3
//
// Created by kamimura on 8/13/14.
// Copyright (c) 2014 kamimura. All rights reserved.
//
import Foundation
var s:String = "tomato"
println(s.find("o"))
println(s.find("o", start: s.find("o") + 1))
s = "avocado"
println(s.find("o", start: s.find("o")))
入出力結果(Console Output)
1 5 6 Program ended with exit code: 0
0 コメント:
コメントを投稿