Skip to content

Instantly share code, notes, and snippets.

View creaaa's full-sized avatar

crea creaaa

  • Fukuoka, JP
View GitHub Profile
@creaaa
creaaa / # toybox - 2016-09-30_10-11-00.txt
Created September 30, 2016 17:12
toybox (giginet/toybox/toybox) on macOS 10.11.6 - Homebrew build logs
Homebrew build logs for giginet/toybox/toybox on macOS 10.11.6
Build date: 2016-09-30 10:11:00
@creaaa
creaaa / gistTest
Created February 24, 2017 20:18
gistのテスト
test
// 依頼する
class Game {
// weakにするのは、依頼「する」側(デリゲート元)のプロパティ。
// される側(デリゲート先)が weakプロパティを持つと、得てして落ちるので注意
weak var delegate: GameDelegate?
func start() {
print("Number of players is \(delegate?.numberOfPlayers ?? 1)")
@creaaa
creaaa / Ishikawa Book: GCD
Last active March 6, 2017 20:23
Ishikawa Book: GCD
import Foundation
import PlaygroundSupport
PlaygroundPage.current.needsIndefiniteExecution = true
let queue = DispatchQueue.global(qos: .userInitiated)
queue.async {
let isMainThread = Thread.isMainThread // false
print("非同期の処理")
@creaaa
creaaa / fib
Created April 5, 2017 22:15
フィボナッチ
var first = 0
var second = 1
func fib() {
for _ in 1...10 {
print(first)
@creaaa
creaaa / selectionSort
Last active April 5, 2017 22:47
swiftでselectionSort
func selectionSort(array: [Int]) {
var array = array
var i = 0
// 要素数=7なら、6回走査すれば完了だよ。
while i < array.count-1 {
var minIdx = i // 最初は0
@creaaa
creaaa / 演算子の適合方法
Last active May 16, 2017 21:42
演算子の適合方法
// クラス内でなく、グローバルで宣言してもよい (ここの型、HogeじゃなくてSelfとかはできないよ)
func == (lhs: Hoge, rhs: Hoge) -> Bool {
return lhs.name == rhs.name
}
struct Hoge: Equatable {
let name: String
@creaaa
creaaa / guard + fallthrough
Created May 18, 2017 23:13
いけるんかい...
var myStack = Stack<Int>()
print("Input number of times that accepts command")
let times = readLine().flatMap{ Int($0) }!
print("1: push 2: pop 3: print max element")
(1...times).forEach {_ in
@creaaa
creaaa / A-Zの配列 (Swift)
Last active May 21, 2017 18:36
A-Zの配列 (Swift)
var letters = [String]()
// 大文字: 65-90
// 小文字: 97-122
// ["A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z"]
for i in 65...90 {
let char = String(Character(UnicodeScalar(i)!))
letters.append(char)
@creaaa
creaaa / クロージャ(ブロック)のreturnについて
Last active July 24, 2017 16:18
挙動1: クロージャ(正しくはブロック)のreturnのスコープに注意(例: forEachの引数に渡すクロージャ内でのreturn等) 挙動2: これはもっとやばいがreturn直後の1行は実行される
(1...3).forEach {
print($0)
return
print("ここもでるwww")
print("ここはでないwww")
}
/*
Result: