खोज…


वाक्य - विन्यास

  • closure.memoize ()
  • closure.memoizeAtMost (एन)
  • closure.memoizeAtLeast (एन)
  • बंद

टिप्पणियों

मेमोइज़ेशन क्लोजर इनवोकेशन के परिणाम को कैशिंग करने की एक विधि है। क्लोजर पर लागू मेमोइज़ फ़ंक्शन एक नया क्लोजर देता है जिसका रिटर्न मान उसके इनपुट मापदंडों के अनुसार कैश किया जाता है। संस्मरण विधियों के तीन ट्विकटेड वेरिएंट के लिए उपयोग किए जाने वाले कैश LRU कैश हैं, जो कि हाल ही में उपयोग किए गए कम से कम तत्व को पहले कैश से हटा दिया गया है।

सरल संस्मरण

def count = 0

nonmemoized = { long n -> println "nonmemoized: $n"; count++ }

nonmemoized(1)
nonmemoized(2)
nonmemoized(2)
nonmemoized(1)
assert count == 4


def mcount = 0

memoized = { long n -> println "memoized: $n"; mcount++ }.memoize()

memoized(1)
memoized(2)
memoized(2)
memoized(1)
assert mcount == 2


Modified text is an extract of the original Stack Overflow Documentation
के तहत लाइसेंस प्राप्त है CC BY-SA 3.0
से संबद्ध नहीं है Stack Overflow