Racket 如何建立一个类似(列表“a”“aa”“aaa”“aaaa”“aaaa”)的列表
要求是使用drracket方案构建列表生成一个aa aaaaa的列表 我试过foldr,但只给aaaaaRacket 如何建立一个类似(列表“a”“aa”“aaa”“aaaa”“aaaa”)的列表,racket,Racket,要求是使用drracket方案构建列表生成一个aa aaaaa的列表 我试过foldr,但只给aaaaa (define (build-a-string n) (foldr string-append "" (build-list n "a"))) 下面是一个使用折叠的解决方案: #lang racket (define (build-as n) (for/fold ([as '("")]) ([_ n]) (define last-a (first as)) (de
(define (build-a-string n)
(foldr string-append "" (build-list n "a")))
下面是一个使用折叠的解决方案:
#lang racket
(define (build-as n)
(for/fold ([as '("")]) ([_ n])
(define last-a (first as))
(define new-a (string-append "a" last-a))
(cons new-a as)))
(build-as 5)
以下是简短的版本:
(define (build-as n)
(for/fold ([as '("")]) ([_ n])
(cons (string-append "a" (first as)) as)))
您尝试过其他代码吗?欢迎使用SO!为了帮助其他人回答您的问题,请提供一些代码,显示您迄今为止的尝试。如果没有更多的要求,那么列出一个AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA?
(define (build-as n)
(for/fold ([as '("")]) ([_ n])
(cons (string-append "a" (first as)) as)))