Xcode Playgroundについて
以下のSwiftファイルをターミナルでswiftcで実行ファイルを指定しコンパイルしたら処理は成功しました。
Xcodeのplaygroundで処理するにはどうしたらいいでしょうか?よろしくお願いします。
Rand.swift
public struct RandGenerator {
private var rnd: UInt
init(seed:Int) { rnd = UInt(seed) }
mutating func random() -> Int {
rnd = (rnd & 10777) &+ 13577
return Int(rnd & 0xffff)
}
mutating func xrand() -> Int {
let n = random() & 0x07
return random() >> n
}
}
Analyzer.swift
func analyzer(_ t: Int) -> [(String, Int)] {
let elems = ["努力", "怠惰", "幸運", "打算", "誤", "根性", "徹夜", "信念", "博愛", "疲労", "勤勉", "不安"]
var rnd = RandGenerator(seed: t) // 乱数の初期化
var score = [Int]()
for _ in 0 ..< elems.count { score.append(rnd.xrand()) }
let tops = zip(elems, score).sorted{ $0.1 > $1.1 }.prefix(5)
let total = Double(tops.reduce(0){ $0 + $1.1 })
return tops.map{ ($0.0, Int(Double($0.1 * 100) / total + 0.5)) }
}
Main.swift
print("あなたの名前: ", terminator:"")
if let name = readLine() {
let v = Int(name.utf16.reduce(UInt16(0), &+))
print("\(name)さんのプログラムは、")
for (elm, val) in analyzer(v) {
print(" \(elm):\(val)%", terminator:"")
}
print(" 出てきています。")
}