(define random-init1)
(define
(rand-update x)
(remainder
(+ (*
13 x)
5)24))
(define
(random-numbers op-stream)
(define
(numbers last-value op-stream)
(let
((op
(stream-car op-stream)))
(cond
((pair? op)
(cons-stream
(cadr op)
(numbers
(cadr op)
(stream-cdr op-stream))))
(else
(let
((next-value
(rand-update last-value)))
(cons-stream next-value (numbers next-value (stream-cdr op-stream))))))))
(numbers random-init op-stream))
(define the-op-stream (list->stream '(generate
(reset
9))))
(define the-random-numbers (random-numbers the-op-stream))
;要檢視流中的全部元素,不能用「流.scm」裡定義的show-n,因為最後只有乙個元素的時候,op-stream是空,但還會呼叫numbers過程,所以需要利用延時求值
(define
(show-n-2 s n)
(if (=
n0)'()
(let
((the-s
(force
s)))
(cons
(stream-car the-s)
(show-n-2
(delay
(stream-cdr the-s))
(- n1))))))
(show-n-2
(delay
the-random-numbers)
2);參考sicp-solution隱式定義的版本:
(define
(random-numbers op-stream)
(define numbers
(cons-stream random-init
(stream-map
(lambda
(num
op)(if (pair? op)
(cadr op)
(rand-update num)))
numbers op-stream)))
(stream-cdr numbers))
(define the-random-numbers (random-numbers the-op-stream))
(show-n-2
(delay
the-random-numbers)
2)
Struts Gossip 模組化程式
來源 http caterpillar.onlyfun.net gossip struts moduleunit.htm struts中很多設定都是在struts config.xml中加以設定,在大型網站的開發中,有很多小團隊會負責不同的模組,如果每乙個團隊都要對struts config.xml...
什麼是模組化?模組化的好處
1.高內聚低耦合,有利於團隊作戰,當專案很複雜的時候,將專案劃分為子模組分給不同的人開發,最後再組合在一起,這樣可以降低模組與模組之間的依賴關係體現低耦合,模組又有特定功能體現高內聚。2.可重用,方便維護,模組的特點就是有特定功能,當兩個專案都需要某種功能的時候,我們定義乙個特定的模組來實現該功能,...
什麼是模組化?模組化的好處
什麼是模組化?j a 應用架構設計 模組化模式與 osgi 一書中對它的定義是 模組化是一種處理複雜系統分解為更好的可管理模組的方式。所謂的模組化開發就是封裝細節,提供使用介面,彼此之間互不影響,每個模組都是實現某一特定的功能。模組化開發的基礎就是函式。模組化開發使 耦合度降低,模組化的意義在於最大...