我目前編程方案,我已經寫了下面的記錄程序,與性格特徵強度(=斯塔克),知識記錄的生物(= kreatur德文) (= WISSEN),並願意承擔風險(= risikobereitschaft),我定義了一個名爲「ronugor」和「garnolaf」兩個生物(名字是不是我的主意,其從練習,我沒有拿出;))和然後我寫了一個程序來混合這兩個生物的特徵(強度-5%,知識不變,準備好承擔風險仍然爲0),以接收一個名爲「ronulaf」的新生物。方案檢查期望的輸出記錄與記錄程序合併
這是我的代碼:
(: stärke (kreatur -> number))
(: wissen (kreatur -> number))
(: risikobereitschaft (kreatur -> number))
(define-record-procedures kreatur
make-kreatur
kreatur?
(stärke
wissen
risikobereitschaft))
; check-property (i kept this out of the posted code to shorten it)
;define the creatures garnolaf and ronugor
(: make-kreatur (number number number -> kreatur))
(define garnolaf
(make-kreatur 100 0 0))
(: make-kreatur (number number number -> kreatur))
(define ronugor
(make-kreatur 0 100 0))
;signaturen
(: garnolaf? (kreatur -> boolean))
(check-expect (garnolaf? garnolaf) #t)
(check-expect (garnolaf? ronugor) #f)
(define garnolaf?
(lambda (x)
(and (= (stärke x) 100)
(= (wissen x) 0)
(= (risikobereitschaft x) 0))))
(: ronugor? (kreatur -> boolean))
(check-expect (ronugor? garnolaf) #f)
(check-expect (ronugor? ronugor) #t)
(define ronugor?
(lambda (x)
(and (= (stärke x) 0)
(= (wissen x) 100)
(= (risikobereitschaft x) 0))))
;mixing of the creatures
(: ronulaf (kreatur kreatur -> kreatur))
;this is where i am missing a check-expect, i suppose
(define ronulaf
(lambda (r g)
(make-kreatur (* 0.95 (stärke g))
(wissen r)
0)))
的問題,我現在是怎樣,我可以寫一張支票,期望的程序ronulaf。我會寫這是這樣的:
(check-expect (ronulaf ronugor garnolaf) #<record:kreatur 95.0 100 0>)
但它不起作用。任何人對檢查期望都有更好的想法嗎?
謝謝了! eva
首先感謝您的回答:)但是,如果我嘗試接收以下錯誤: 檢查期望遇到以下錯誤,而不是預期值#。 正如我前面在我的崗位#說<記錄:kreatur 95 100 0>不工作,要麼雖然... –
你確定你使用的是從DeinProgramm正確的語言?在球拍的語言,你會使用[結構](http://docs.racket-lang.org/reference/define-struct.html?q=struct&q=rackunit&q=unit&q=define-record-procedures#%28form._ %28%28lib._racket%2Fprivate%2Fbase..rkt%29._struct%29%29)和[rackunit](http://docs.racket-lang.org/rackunit/api.html?q=rackunit&q=unit&q = define-record-procedures) – Sylwester
我正在使用「DeinProgramm,Die Macht der Abstraktion-Anfänger」,它將被翻譯爲「DeinProgramm,抽象力 - 初學者」。這是「DeinProgramm」中的第一個選項。我不知道這是否是正確的語言,但它是我們必須用於上大學的語言...... –