タグ

小飼弾と()に関するs1251のブックマーク (2)

  • Swiftの関数の引数は、常に一つ - Qiita

    だとしたら、Swiftではカリー化は不要ということになってしまう。 すなわち、ざっくり言うとカリー化とは複数の引数を1つに減らすことを指します - Swiftで関数のカリー化(currying)入門 Swiftの関数は、つねに一つの値を受け取り、一つの値を返すのだから。 以下のコードを動かしてみれば、それがわかる。 func call<A,R>(f:A->R, a:A)->R { return f(a) } func id(i:Int)->Int { return i } func add(x:Int, y:Int)->Int { return x + y } call(id, 42) // 42 call(add, (21,21)) // 42 上記のcall()は、「『型Aの値を一つだけ取って型Rの値を返す関数』と『型Aの値』を取って『型Rの値』を返す関数」なはずなのに、「IntとIn

    Swiftの関数の引数は、常に一つ - Qiita
  • SwiftでJavaScript - Qiita

    案ずるより書くが易し… Swiftのウリの一つは(Objective-)?Cに直アクセスできることですが、それが意味するのは、JavaScriptに直アクセスできるということでもあったのです。 とりあえずJS使うだけなら こんだけ。 import JavaScriptCore let ctx = JSContext() let ary = [0, 1, 2, 3] var jsv = ctx.evaluateScript( "\(ary).map(function(n){return n*n})" ) println(jsv) var a = jsv.toArray() println(a) はい。見てのとおり、import JavaScriptCoreして、JSContext()でJSの実行環境をこしらえて、それに.evaluateScript()でStringわせれば、おしまい。 実

    SwiftでJavaScript - Qiita
  • 1