how to spell a number in racket? (spellNum)的溶液後,現在,我試圖寫的函數,而此函數的相反即Tonumber函數(tonumber「(一二三) - > 123
(tonumber ‘(one two three) --> 123
到目前爲止我有。寫這個工作代碼
(define (symbol->digit n)
(case n
('zero 0)
('one 1)
('two 2)
('three 3)
('four 4)
('five 5)
('six 6)
('seven 7)
('eight 8)
('nine 9)
(else (error "unknown symbol:" n))))
(define (numlist n)
(map symbol->digit n))
(numlist '(one two three))
從numlist,我得到了「(1 2 3),但爲了有以下功能中,我想轉換列表中的一些問題進行編號
(define (list->number l)
(set! multiplier (* 10 (lenght l)))
(for/list [(c l)]
(* multiplier c))
(set! multiplier (/ multiplier 10)))
(list->number '(1 2 3))
任何幫助將不勝感激。我找不到所有類型的在線循環文件。在 http://docs.racket-lang.org/ts-reference/special-forms.html?q=loop#%28part._.Loops%29
我想熟悉球拍,所以我想避免內置轉換功能。在list-> number中,我試圖從列表中逐個取數字,然後我想將它們與10,100,1000等數相乘,具體取決於列表的長度。這樣它可以返回一個數字。例如「(1 2 3)= 1 * 100 + 2×10 + 3 * 1
我想如果你花時間瞭解你的其他問題的答案,那麼這個答案將是你自己的。 – GoZoner
這是一個鬼鬼祟祟的編輯!我不確定拒絕使用'語言'是否構成'熟悉'該語言...... – beoliver