2013-06-02 37 views

Trả lời

10

(apply string-append (list "a" "1" "b" "2" "c" "3")) hoặc (string-append* "" (list "a" "1" "b" "2" "c" "3")) sẽ hoạt động. Xem: http://docs.racket-lang.org/reference/strings.html

Nếu bạn muốn có một thủ tục để thực hiện điều này bạn chỉ có thể viết (define (strings->string sts) (apply string-append sts))

8

Đừng phát minh lại bánh xe! trong vợt, có tồn tại một thủ tục đặc biệt cho điều này và nó gọi string-join:

(string-join '("a" "1" "b" "2" "c" "3") "") 
=> "a1b2c3" 

Trích dẫn các documentation:

(string-join strs     
      [sep     
       #:before-first before-first     
       #:before-last before-last    
       #:after-last after-last]) → string? 

strs : (listof string?) 
sep : string? = " " 
before-first : string? = "" 
before-last : string? = sep 
after-last : string? = "" 

Gắn các chuỗi trong strs, chèn sep giữa mỗi cặp chuỗi trong strs. before-last, before-firstafter-last tương tự với các đầu vào của add-between: chúng chỉ định một dấu tách thay thế giữa hai chuỗi cuối cùng, một chuỗi tiền tố và một chuỗi hậu tố tương ứng.

+0

Người bỏ phiếu: quan tâm để nhận xét? –

+0

Điều này cũng được thực hiện trong Guile. – musarithmia

Các vấn đề liên quan