[英]How to cast items in a list to Strings in Racket
因此,我有一個從文件創建的項目列表。 我能夠讀取文件並將項目成功放入列表中,但是在將這些項目轉換/轉換為字符串時遇到了麻煩。
因此,例如:
(print myList)
產生:
'(Apple Orange banana pickle)
和:
(for ([i lst])
(print i)
)
產生:
'Apple'Orange'banana'pickle
不是字符串。
我真的只想要一個字符串列表,以便以后可以使用它們。 球拍文檔似乎只顯示如何處理字符。 我應該怎么做呢? 謝謝你的幫助!
使用內置的map
過程以及symbol->string
,有一種更簡單,更慣用的方式,它可以准確地執行您需要的轉換:
(map symbol->string '(apple orange banana pickle))
=> '("apple" "orange" "banana" "pickle")
請記住,在Scheme中,大多數時候我們避免對諸如set!
操作進行變異set!
-Scheme支持一種編程的功能樣式,在該樣式中我們構建新數據而不是對其進行修改。
還要注意,我們避免顯式循環-有內置的過程可以用您可以想象的任何方式來處理列表,在極少數情況下,當我們找不到滿足我們需求的過程時,便使用遞歸進行循環。
我想我找到了答案。 我相信清單中的物品在球拍中稱為“符號”。 因此,您可以使用一種方法“ symbol-> string”。
因此,我定義了一個名為“ stringList”的新列表,並執行以下操作:
;Create new list to be list of strings
(define stringList '())
;convert symbols from list into strings and add to stringList
(for ([i myList])
(set! i (symbol->string i))
(set! stringList (cons i stringList))
)
仍然希望聽到任何反饋!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.