私はClojureを学ぼうとしていますが、私のシナプスはSmalltalkにハードワイヤード接続されているようです。Clojureと同等のinject:into:Smalltalkには何がありますか?
この機能に相当するものは何ですか?
[:n :k | (1 to: k) inject: 1 into: [:c :i | c * (n - k + i/i)]]
- これは、K nの二項係数である - また、「選択」関数として知られ、撮影したk回
私はClojureを学ぼうとしていますが、私のシナプスはSmalltalkにハードワイヤード接続されているようです。Clojureと同等のinject:into:Smalltalkには何がありますか?
この機能に相当するものは何ですか?
[:n :k | (1 to: k) inject: 1 into: [:c :i | c * (n - k + i/i)]]
lst inject: s into: f
のClojureの等価物であるN個のものの組み合わせの数を表します(reduce f s lst)
速すぎ、速すぎる。私は約20秒遅すぎました! –
私はむしろ、#inject:into: 'はsmalltalkがLispからインスピレーションを得ているので、' reduce'に相当すると言っています:) – mathk
驚くばかりです。これは私が思いついたものです(defnは[n k]を選ぶ(fn [c i](* c)/(+( - n k)i))1)(範囲1(+ k 1)))))。 Smalltalkの中置記法をLispに変換する方法を見つけたら、それはかなり簡単でしたが、構文はまだ私の脳を傷つけています:) –
'(+ k 1)'の代わりに '(inc k)'を使うこともできます。 –