タグ

ブックマーク / qiita.com/satoshia (4)

  • Swiftのクロージャで再帰 - Qiita

    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のクロージャで再帰 - Qiita
    kasumani
    kasumani 2014/08/22
    Swiftのクロージャで再帰 とコンパイラに怒られてしまいます. 素直にクロージャで再帰する記述法はなさそうに思えます. Tags: ifttt, kasumaniのストックした投稿 - qiita from Pocket August 22, 2014 at 08:49PM via IFTTT
  • Swiftでタイプそのものを引数にとる関数を実装してみる. - Qiita

    バイナリファイルから整数値を取り出すようなことがある場合,バイト配列を整数に変換する関数を用意しておくと便利です.このときの関数はgetInt32()やgetUInt64()などと整数のタイプごとに別個に実装するかと思います.実装の中身はほとんど同じであるにも関わらずです. そこで,綺麗に実装を一つにまとめられないものだろうかと思い,ジェネリクスを使って試してみました.個人的にはなかなか面白い作業だったと思うので,ここにログしておきます. 今回,仕立てた関数getIntegerはこのように使います. let getInt16 = getInteger(type: Int16.self) let getUInt32 = getInteger(type: UInt32.self) var v = getInt16(bytes: someByteArray) var w = getUInt32(

    Swiftでタイプそのものを引数にとる関数を実装してみる. - Qiita
    kasumani
    kasumani 2014/08/16
    Swiftでタイプそのものを引数にとる関数を実装してみる. バイナリファイルから整数値を取り出すようなことがある場合,バイト配列を整数に変換する関数を用意しておくと便利です.このときの関数はgetInt32()やgetUInt64()な
  • Swiftコンパイラの暴走バグ回避 (Xcode6 Beta5) - Qiita

    そのうち治ると思うのですが一応メモしておきます. ループをアンロールしてみて気づいたのですが,例えば: var c = [b[0] + 1, b[1] + 1, b[2] + 1, b[3] + 1, b[4] + 1, b[5] + 1, b[6] + 1, b[7] + 1]

    Swiftコンパイラの暴走バグ回避 (Xcode6 Beta5) - Qiita
    kasumani
    kasumani 2014/08/13
    Swiftコンパイラの暴走バグ回避 (Xcode6 Beta5) 3 ストック 0 コメント この投稿をストックする そのうち治ると思うのですが一応メモしておきます. ループをアンロールしてみて気づいたのですが,例えば: var c = [b[0] + 1, b[1] + 1
  • SwiftでTCPサーバーを作ってみる - Qiita

    Swiftでは,Cの構造体でさえもExtensionでどんどん拡張できてしまうのは愉快痛快ですね. C言語でのソケット関連のお約束をSwiftで拡張して使いやすくしてみようという試みです. Cの,というかソケットAPIでは, struct sockaddr_in sin; memset(&sin, 0, sizeof(sin)); sin.sin_len = sizeof(sin); sin.sin_family = AF_INET; sin.sin_port = htons(0); sin.sin_addr.s_addr= INADDR_ANY; bind(sock, (struct sockaddr *)&sin, sizeof(sin)) ... という感じでsockaddr_inからsockaddrへキャストするのがお約束.swiftではこれをストレートに表現できないので,Exte

    SwiftでTCPサーバーを作ってみる - Qiita
    kasumani
    kasumani 2014/08/08
    SwiftでTCPサーバーを作ってみる Swiftでは,Cの構造体でさえもExtensionでどんどん拡張できてしまうのは愉快痛快ですね. C言語でのソケット関連のお約束をSwiftで拡張して使いやすくしてみようという試みです. Tags: ifttt, kasuma
  • 1