リストとkを取得し、kのサイズで置換を取得するScheme関数(1つの関数 - 重要)を実装することが可能です。 k = 2は、{1,1}、(1,2)、(1,3)、(2,1)、(2,2)、.....}(9つのオプション)を出力する。より多くの関数を定義することなくkサイズの置換を作成する
-2
A
答えて
-1
限り、あなたは、ラムダを持っているように何かを定義せずに何かをする、その可能:
(define (fib n)
;; bad internal definition
(define (helper n a b)
(if (zero? n)
a
(helper (- n 1) b (+ a b))))
(helper n 0 1))
をZコンビネータを使用して:私たちはの値を代入できるよう
(define Z
(lambda (f)
((lambda (g)
(f (lambda args (apply (g g) args))))
(lambda (g)
(f (lambda args (apply (g g) args)))))))
(define (fib n)
((Z (lambda (helper)
(lambda (n a b)
(if (zero? n)
a
(helper (- n 1) b (+ a b))))))
n 0 1))
は、今、私たちはZを呼び出すことはありません関数のZをZとすると、同じことが実行されます。
(define (fib n)
(((lambda (f)
((lambda (g)
(f (lambda args (apply (g g) args))))
(lambda (g)
(f (lambda args (apply (g g) args))))))
(lambda (helper)
(lambda (n a b)
(if (zero? n)
a
(helper (- n 1) b (+ a b))))))
n 0 1))
ここで、Sa Alonzo Churchでved。
-1
それだけではありません。ただloop
を使用してください:
(define permute
(lambda (k lst)
(let loop ((result (map list lst))
(i 1))
(if (= i k)
result
(loop
;; code to add each element of the original list
;; to each element of the result list
(1+ i))))))
関連する問題
- 1. より多くの変数を渡すことによってMatlabの同時非線形方程式を解く関数を定義する方法
- 2. ヘッダファイルに関数定義を置く
- 3. エリクサー:パイプより多くの関数を1つの変数に変換する
- 4. viewdidload()の中で関数を定義することは、それらを外側に定義するよりも多くのメモリを節約しますか?
- 5. Neo4j.Driver.V1と多くのノードと関係を作成する方法
- 6. ユーザ定義関数内で作成されたデータテーブルをグローバル環境に置くことは可能ですか?
- 7. jQuery関数より多くのデータを動的にロードする
- 8. 多くの関数を印刷するより良い方法
- 9. より多くのオブジェクトを動的に作成する
- 10. より多くの列を作成するには?
- 11. 多くのパラメータを定義されている関数に渡すことを禁止します
- 12. より多くの引数と統合を伴う関数
- 13. 多数のデータベースを手動で実行することなく、多くのデータベースを切り替える方法
- 14. マップをjsonに変換するとゴランの整数が多くなります
- 15. 変数でより多くの変数を作る
- 16. 多くの文書を作成する
- 17. 多くのサブページを作成する、symfony
- 18. mDNSResponderがより多くのネットワークトラフィックを生成するとき
- 19. JavaScript関数にOnclickは交換してください、私はそれが非表示のボタンでより多くのボタンを置き換え、より上のデフォルトのdivのサイズとクリックを設定するには、非表示ボタンを追加したい
- 20. 配列の要素の数をコンパイル時に定義された配列のサイズより多くすることは可能ですか?
- 21. UICollectionViewController:CollectionViewのサイズに関係なく、スティッキーフッタを作成します。
- 22. python関数がより多くのdictを返す
- 23. Meteor.loginWithFacebook()関数のデータをより多く渡すには?
- 24. より多くのベクトルを指すポインターのベクトルを作成する
- 25. PHPトグルモーダルは、より多くのモーダルを作成します
- 26. SqlBulkCopyはDataTableより多くの行を作成します
- 27. スパークを作成存在するユーザー定義関数は、関数
- 28. より多くのスクリプトタグを作成せずにキャンバスにもっと描く
- 29. 使用して、テストディレクトリ内のパッケージを作成することなく、テスト中の関数を作成し、インポートヘルパーpy.test
- 30. カスタムスニペットだけでなく、一般的なコードのリテラル置換を作成することはできますか?
もちろんです。何を試しましたか? –
もっと多くの関数を定義するとどういう意味ですか? 1つのグローバルのみを公開したい、またはローカル関数を作成することを制限していますか?匿名関数でも問題ありませんか?質問が表示されない限り、コードを含む回答は得られません。あなたがこれまでに試したことを教えてください!編集ボタンを使用します。 – Sylwester