在大多數編程語言,'c'
是一個字符和"c"
是長度1。但Coq的串(根據其標準ASCII和字符串庫)使用"c"
作爲符號兩者,這需要恆定的使用Open Scope
澄清哪一個正在被提及。如何避免這種情況,並用通常的方式用單引號指定字符?如果有一種解決方案只能部分覆蓋標準庫,改變符號但是回收其餘部分,那將會很不錯。Coq中字符的單引號符號?
3
A
回答
1
我非常有信心,有這樣做的沒有聰明的方式,但有一個有點惱人的一個:簡單地聲明對每個字符一個符號。
Notation "''c''" := "c" : char_scope.
Notation "''a''" := "a" : char_scope.
Check 'a'.
Check 'c'.
編寫腳本來自動生成這些聲明不應該太困難。不過,我不知道這是否對Coq的解析器有任何負面影響。
1
Require Import Ascii.
Require Import String.
Check "a"%char.
Check "b"%string.
或本
Program Definition c (s:string) : ascii :=
match s with "" => " "%char | String a _ => a end.
Check (c"A").
Check ("A").
相關問題
- 1. 單引號和雙引號字符串中的特殊字符
- 2. 單引號字符
- 3. 轉換單引號字符串中雙引號字符串
- 4. 提取單引號字符串和雙引號字符串
- 5. 將單引號字符串轉換爲雙引號字符串
- 6. 帶單引號,雙引號或三引號的Lex字符串
- 7. 將單引號轉換爲字符串中的單引號
- 8. Hsqldb單引號字符
- 9. 追加單引號字符
- 10. 更換字符單引號
- 11. 選擇字符'(單引號)
- 12. 轉義單引號字符
- 13. csv.writer用單引號字符
- 14. 單引號單引號字符內bash中逃脫
- 15. t-sql中的字符串單引號
- 16. Swift中的單引號字符
- 17. sql中字符串的單引號
- 18. ActionScript中單引號和雙引號字符串的區別
- 19. javascript將雙引號轉換爲字符串中的單引號
- 20. 用一個字符串中的單引號替換雙引號
- 21. PHP:echo-ed字符串中的單引號和雙引號問題?
- 22. 使用單引號轉義字符串的單引號
- 23. 字符串中的引號
- 24. 如何將單引號符號(')轉換爲JSON.parse的字符串?
- 25. 以單引號或雙引號在Python中提取字符串
- 26. 在Javascript字符串中替換雙引號和單引號
- 27. 在Python字符串中有單引號和雙引號
- 28. 在Vim中匹配單引號或雙引號字符串
- 29. 在字符串中包含單引號
- 30. PHP - 引號字符