Ví dụ: tôi có (list "a" "1" "b" "2" "c" "3")
.Làm thế nào để chuyển danh sách chuỗi thành một chuỗi trong lược đồ?
Bây giờ tôi muốn biến danh sách này thành một "a1b2c3"
.
Tôi làm như thế nào?
Cảm ơn bạn.
Ví dụ: tôi có (list "a" "1" "b" "2" "c" "3")
.Làm thế nào để chuyển danh sách chuỗi thành một chuỗi trong lược đồ?
Bây giờ tôi muốn biến danh sách này thành một "a1b2c3"
.
Tôi làm như thế nào?
Cảm ơn bạn.
(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))
Đừ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ènsep
giữa mỗi cặp chuỗi trong strs.before-last
,before-first
vàafter-last
tương tự với các đầu vào củaadd-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.
Người bỏ phiếu: quan tâm để nhận xét? –
Điều này cũng được thực hiện trong Guile. – musarithmia