它可能會變得很愚蠢,但我對以不可變方式評估Scala流評估有疑問。假設我有一個像這樣的Stream(所有行在repl中執行); val a = Stream(1,2,3,4,5,6,7,8,9,10);
一個:scala.collection.immutable.Stream [INT] =流(θ1,) 當運行下面的行; a(3);
a
我得到了; scala.collection.im
我試圖編寫一個memoize函數,它將一個函數作爲參數並返回一個相似的memoized函數。 function memoize<T extends Function, R>(f: T): T {
const memory = new Map<string, R>();
const g = (...args: any[]) => {
if (!memory.get(a
我知道memoize的目的是緩存值,以便代碼可以更快運行,不必每次都重新計算相同的答案。我的問題源於返回一個函數(我認爲)。 google chrome調試器對我來說並不是那麼有用,因爲每次我嘗試運行這個memoize函數時,它都會從argus變量(在第4行,我相信)一路下降到分號。而且,結果總是返回一個空對象,而不是將結果存儲在結果中。 我先定義一個函數: function add(a,b){