我想编写一个程序,将字母表中的字母作为符号进行迭代,并用它们做一些事情。我希望它大致相当于以下 C 代码:
for(char letter = 'a'; letter <= 'z'; letter++)
{
printf("The letter is %c\n", letter);
}
我真的不知道如何在 Racket 中做到这一点。感谢您的帮助。
假设您只想迭代小写英文字母,这是一种方法:
(define alphabet (string->list "abcdefghijklmnopqrstuvwxyz"))
(for ([letter alphabet])
(displayln letter))
你可以做更多的事情for
虽然循环。例如,
(for/list ([let alphabet] [r-let (reverse alphabet)])
(list let r-let))
生成与相反方向的字母配对的字母列表。虽然这实际上更好地表达为地图:(map list alphabet (reverse alphabet))
.
Also, SRFI-14 http://docs.racket-lang.org/srfi/srfi-std/srfi-14.html如果您需要更多操作,可以提供对字符集的更多操作。
编辑:最初,我做了一些事情char->integer
, integer->char
, and range
但我现在拥有的更简单。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)