設萬維讀者為首頁 廣告服務 技術服務 聯繫我們 關於萬維
簡體 繁體 手機版
分類廣告
版主:
萬維讀者網 > 靈機一動 > 跟帖
又做了一個,試了試。好啊
送交者: 思良將 2013月05月15日17:48:04 於 [靈機一動] 發送悄悄話
回  答: 花了一天搞懂的continuation passing st思良將 於 2013-05-15 01:17:16

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(define num_args
  (lambda x
    (if (null? x)
        0
        (+ 1 (apply num_args (cdr x))))))


(define num_args-cps
  (lambda x
    (let n_args-cps ((x x) (k (lambda (x) x)))
        (if (null? x)
            (k 0)
            (n_args-cps (cdr x) (lambda (v)(k (+ 1 v))))))))
;Value: num_args-cps


(num_args-cps 1 2 3 4 5 6 7 8 9 0)
;Value: 10

(num_args-cps '(1 2 3 4 5 6 7 8 9 0))
;Value: 1

 

0%(0)
0%(0)
標  題 (必選項):
內  容 (選填項):
實用資訊
回國機票$360起 | 商務艙省$200 | 全球最佳航空公司出爐:海航獲五星
海外華人福利!在線看陳建斌《三叉戟》熱血歸回 豪情築夢 高清免費看 無地區限制
一周點擊熱帖 更多>>
一周回復熱帖
歷史上的今天:回復熱帖
2012: 給各位蒙古數學家們出個五年級數學問題
2012: 我在宋江二中上學的時候,自己作過變壓
2010: 怡然:心有多遠,博客就能走多遠