2013-02-01 108 views
1

我在這裏閱讀了一些答案並進行了搜索,但沒有運氣。方案中來自雙引號符號的字符串數據

我有這樣的:

''a 

方案(切斯方案是精確的),我希望把它變成一個字符串(這是在我到字符串的拉姆達的情況下)。

現在,詢問它是否是一個符號(使用符號謂詞)會得出肯定的答案,所以我知道該何時操作,但之後我無法做任何事情,因爲無法獲得內部報價本身。

所以基本上我找不到把a變成a的方法。

希望這很簡單,任何幫助將不勝感激!

回答

2

這個表達式:

''a 

等效於此符號定義(爲什麼雙引號,順便一個單引號就足夠了?):

(quote (quote a)) 

把它變成一個字符串,乾脆這樣做:

(symbol->string (cadr ''a)) 
=> "a" 
+1

好了,想你了cadr,會試試更新,謝謝! 更新:IT WORKS! :-) –

+0

@ReutSharabani看到我更新的答案。無論如何,我認爲代碼中有些奇怪,至少可以說是可疑的 –

+0

如果你必須知道我正在使用scheme編寫一個編譯器,並且原始輸入提供了一個引號。 因此,在REPL循環中 - 用戶使用輸入「'a」生成一個簡單的引用表達式評估,但它會被再次引用,以便我可以正確讀取它(因爲我們不僅處理引用的表達式......),產生''a。 感謝您的幫助! –

相關問題