在Ruby中,你可以像這樣創建一個簡單的切換功能:是否可以在方案中製作切換功能?
@switch = false
def toggle
@switch = [email protected]
end
toggle # => true
toggle # => false
toggle # => true
我想知道是否有可能做到這一點的方案。我能得到的最接近的是:
(define a #f)
(define (toggle a)
(cond ((eq? a #t) #f)
(else #t)))
(define a (toggle a))
a # => #t
(define a (toggle a))
a # => #f
(define a (toggle a))
a # => #t
謝謝。
(define switch #f)
(define (toggle)
(set! switch (not switch))
switch)
這是功課:
「無突變」的概念是功能不應該修改自身以外的某些東西。這樣,您就可以運行函數而不用擔心它們是否會對程序的其餘部分產生奇怪的影響。 – erjiang 2010-11-11 16:01:32
我瞭解功能範式(儘管我不確定我是否願意訂閱它)。「從不」非常嚴格。有時候,你不要暗暗的想,「哦,記住事件的發生會非常好。」任何交互式軟件都必須跟蹤交互 - 必須記住一些事件/設置。 – Tim 2010-11-12 00:06:56