如何將列表轉換爲DrRacket中的字符串?例如,如何將'(紅色黃色藍色綠色)轉換爲「紅色黃色藍色綠色」?我嘗試使用list-> string,但似乎只適用於字符。列表到球拍中的字符串轉換
3
A
回答
9
這裏的技巧是將符號列表作爲輸入映射,將每個符號依次轉換爲字符串,注意在除最後一個之外的每個符號之間添加一個空白區域。事情是這樣的:
(define (slist->string slst)
(cond ((empty? slst) "")
((empty? (rest slst)) (symbol->string (first slst)))
(else (string-append (symbol->string (first slst))
" "
(slist->string (rest slst))))))
或者更簡單,使用更高階的程序:
(define (slist->string slst)
(string-join (map symbol->string slst) " "))
無論哪種方式,它按預期工作:
(slist->string '(red yellow blue green))
=> "red yellow blue green"
而只是要徹底,如果輸入列表是串(沒有符號的問題)的列表,答案應該是:
(define strlist (list "red" "yellow" "blue" "green"))
(string-join strlist " ")
=> "red yellow blue green"
4
球拍支持多項實用功能,使這個容易。如果您只想查看列表中的內容,您可能會對「顯示」感到滿意。如果你關心沒有parens,你可以使用字符串連接。
#lang racket
(define my-list '(a big dog))
;; the easy way (has parens):
(~a my-list)
;; slightly harder
(string-join (map ~a my-list) " ")
相關問題
- 1. 球拍中的數字到字轉換
- 2. 如何將端口轉換爲球拍中的字符串和列表?
- 3. 如何將SQL-timestamp轉換爲球拍中的字符串?
- 4. 如何將字符串列表轉換爲球拍中的字符串?(空出空格)
- 5. 球拍,將列表轉換爲值
- 6. 字符串列表中的球拍公式
- 7. DR球拍翻轉字母列表
- 8. 球拍串到字面?
- 9. 字符串到int轉換的列表
- 10. 在球拍計劃中讀取字符串中的字符串
- 11. 轉換的字符串列表,列出字符串列表的
- 12. 如何將大文件加載到球拍中的字符串或列表中?
- 13. 轉換字符串列表
- 14. 球拍正則表達式/字符串替換
- 15. 轉換Unicode字符串到Python列表
- 16. 轉換列表到csv字符串
- 17. 轉換列表轉換爲字符串
- 18. 減去球拍中的數字列表
- 19. 轉換列表中的字符串
- 20. python中的字符串列表轉換
- 21. 轉換列表中的字符串data.frame
- 22. 轉換字符串列表到一個字符串
- 23. 如何在球拍中添加一個數字到字符串?
- 24. 將字符串列表轉換爲字符串列表
- 25. 字符串轉換列表分爲地圖[字符串,列表]
- 26. 在列表球拍中計數數字
- 27. 在球拍中,如何使用字符串 - >列表或列表 - >字符串函數來替換字符串中的單詞?
- 28. Haskell中:轉換字符串 - > [列表]
- 29. 轉換字符串列表Common Lisp中
- 30. 列表中的球拍列表元素