WWDC 2014でのスライド'Advanced Swift'に不動点コンビネータを使った見事な方法が載っていたので問題を簡潔にしてメモしておきます.情報をくれた@Ushio@githubさんに感謝. letだけでは無理 letを(letrecのように)使って let fib = {(n: Int) -> Int in return n < 2 ? n : fib(n - 1) + fib(n - 2) }
Swiftでは関数型でほとんど行けるようなので,ループ構文を無視してなんでも再帰で書きたくなる衝動にかられたりします.そこで,どの程度再帰が使いやすいか調べてみました. 普通の再帰関数 func fibonacci(n: Int) -> Int { return n < 2 ? n : fibonacci(n - 2) + fibonacci(n - 1) }
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く