從消息傳遞運行定義

伊利
(define (memoize message f)
  (define (dispatch message)
    (cond 
     ((eq? message 'm) k)
     ((eq? message 'um) 20)))

  (define (k) 
    (let ((table (make-table)))
      (lambda (x)
        (let ((previously-computed-result (lookup x table)))
          (or previously-computed-result
              (let ((result (f x)))
                (insert! x result table)
                result)
              )))))
  f)

(set! fib(memoize 'm fib))

我的想法是,我將 m 作為消息發送,然後 ((eq? message 'm) k) 將檢查為真,因此定義 k 將運行並更改 fib 因為設置!,但代碼不起作用,因為我希望它能起作用,有人可以幫我嗎

巴馬

您需要調用dispatch並返回結果。您只是返回與您調用的函數相同的函數。

並且dispatch您需要調用k,而不僅僅是返回它,因為它返回具有查找表的閉包。

(define (memoize message f)
  (define (dispatch message)
    (cond 
     ((eq? message 'm) (k))
     ((eq? message 'um) 20)))

  (define (k) 
    (let ((table (make-table)))
      (lambda (x)
        (let ((previously-computed-result (lookup x table)))
          (or previously-computed-result
              (let ((result (f x)))
                (insert! x result table)
                result)
              )))))
  (dispatch message))

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

從 Python 運行 Powershell 代碼 - 傳遞變量

將運行時數據從組件傳遞到 HoC?

編寫遞歸函數時,何時將“count”作為參數從一個遞歸調用傳遞到另一個與定義“count + = 遞歸函數”?

將字符傳遞給運算符重載的自定義流操縱器

如何將 ArrayList 傳遞給在遠程機器上運行的 Invoke-Command

如何在運行時將類名傳遞給 JSON DeserializeObject?

React - 將選定的 obj 從子狀態傳遞給父狀態

如何從文件傳遞參數?

鏈接的 SQL Server - 傳遞使用命令或定義默認數據庫

將管道中第一個運算符的數據傳遞給兩個自定義運算符?

算術運算符的遞歸定義:如何記憶/緩存?

如何從javascript中的<select>傳遞值

將標籤值從 HTML 傳遞到 TS

如何從腳本在 xpath 中傳遞變量?

如何將變量從 js 傳遞給 pug

如何將流從 Delphi 傳遞到 C#?

將對象列表從片段傳遞給 recyclerViewAdapter

將公式從 vba 傳遞到單元格

從 pom 傳遞 mvn 測試的參數

C遞增指針地址傳遞給函數++運算符

上傳時運行 PHP 文件

是否有支持對象消息傳遞的 Python 包?

MQTT 5.0 消息傳遞重試及原因碼

React無法從傳遞的道具中讀取觸發器上未定義的屬性(讀取,'setState')

.NET Maui 自定義處理程序將參數從 xaml 代碼傳遞到處理程序代碼?

在 distroless 環境中將可自定義的選項傳遞給 GraalVM 映像執行

使用運行時設置的類型調用泛型方法並傳遞泛型委託參數

將 HTML 傳遞給自定義組件

Python Websockets 使用 Queue 將數據從客戶端處理程序傳遞到協程進行處理