Comment detail

与えられた文字列でピラミッド (Nested Flatten)
Scheme用SLIMEがあればいいのに…
1
2
3
4
5
6
7
8
(use srfi-1)
(define (pyramid str)
  (map
   (lambda (i)
     (format #t "~a~a~%" (make-string i)
             (string-join (map string (string->list str i (string-length str))) " ")))
   (iota (- (string-length str) 0) (- (string-length str) 1) -1)))
(pyramid "abracadabra")
文字列のインデックスアクセスも算術演算も明示的ループも無しで。
1
2
3
4
5
6
(use util.list)
(define (pyramid s)
  (let r ((s (string->list s)) (p '()))
    (unless (null? s)
      (r (cdr s) (cons #\ p))
      (apply print (append p (intersperse #\  s))))))
名前付きletは明示的loopじゃないと?:)
名前付けてるだけだも〜ん。 それにいわゆる「ループとしての使いかた」はしてないし。
Never mind ! :)

Index

Feed

Other

Link

Pathtraq

loading...