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