- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我有一段代码:
; Palatal Pulmonic Consonants
(loop for e in (list
'(:nasal "ɲ")
'(:plosive "c") '(:plosive "ɟ")
'(:fricative "ç") '(:fricative "ʝ")
'(:approximant "j")
'(:lateral-fricative "ʎ̥˔")
'(:lateral-approximant "ʎ")
'(:lateral-flap "ʎ̯") ) do
(add-sound :palatal (car e) (cadr e)))
我有很多用于所有 IPA 符号的这些位,这不是具体的问题所在。
但是,尝试运行我的代码会出现此错误:
SYSTEM::STRING-READER: Invalid byte #x90 in CHARSET:CP1252 conversion
这很好,除了我无法找到一种方法,在脚本文件中,告诉 CLisp 我正在以 UTF-8 格式输入字符串,我希望它以 UTF-8 格式读取并打印它们。
如何在全局范围内永久设置 UTF-8。我的想法类似于 Ruby 的 # encoding: utf-8
具体来说,我使用的是 CLisp 2.48。
编辑:
这是导致问题的文件的完整源列表:
(defstruct sound place means sym)
(defparameter $sounds nil)
(defun add-sound (place means sym)
(setf $sounds (append $sounds (list (make-sound :place place :means means :sym sym)))))
; There are alot of IPA symbols, so we'll add them column by column.
; The first column is the Bilabial Pulmonic Consonants
(loop for e in (list
'(:nasal "m") '(:plosive "p")
'(:plosive "b") '(:fricative "ɸ")
'(:fricative "β") '(:trill "ʙ")
'(:flap "ⱱ̟") ) do
(add-sound :bilabial (car e) (cadr e)))
; Labiodental Pulmonic Consonants
(loop for e in (list
'(:nasal "ɱ") '(:plosive "p̪")
'(:plosive "b̪") '(:fricative "f")
'(:fricative "v") '(:approximant "ʋ")
'(:flap "ⱱ") ) do
(add-sound :labiodental (car e) (cadr e)))
; Dental Pulmonic Consonants
(loop for e in (list
'(:nasal "n̪")
'(:plosive "t̪") '(:plosive "d̪")
'(:fricative "θ") '(:fricative "ð") ) do
(add-sound :dental (car e) (cadr e)))
; Alveolar Pulmonic Consonants
(loop for e in (list
'(:nasal "n")
'(:plosive "t") '(:plosive "d")
'(:fricative "s") '(:fricative "z")
'(:trill "r")
'(:flap "ɾ")
'(:lateral-fricative "ɬ") '(:lateral-fricative "ɮ")
'(:lateral-approximant "l")
'(:lateral-flap "ɺ") ) do
(add-sound :alveolar (car e) (cadr e)))
; Palato-Alveolar Pulmonic Consonants
(loop for e in (list
'(:fricative "ʃ") '(:fricative "ʒ")
'(:approximant "ɹ") ) do
(add-sound :palato-alveolar (car e) (cadr e)))
; Retroflex Pulmonic Consonants
(loop for e in (list
'(:nasal "ɳ")
'(:plosive "ʈ") '(:plosive "ɖ")
'(:fricative "ʂ") '(:fricative "ʐ")
'(:approximant "ɻ")
'(:trill "ɽ͡r")
'(:flap "ɽ")
'(:lateral-fricative "ɭ˔̊")
'(:lateral-approximant "ɭ")
'(:lateral-flap "ɺ̢") ) do
(add-sound :retroflex (car e) (cadr e)))
; Palatal Pulmonic Consonants
(loop for e in (list
'(:nasal "ɲ")
'(:plosive "c") '(:plosive "ɟ")
'(:fricative "ç") '(:fricative "ʝ")
'(:approximant "j")
'(:lateral-fricative "ʎ̥˔")
'(:lateral-approximant "ʎ")
'(:lateral-flap "ʎ̯") ) do
(add-sound :palatal (car e) (cadr e)))
; Velar Pulmonic Consonants
(loop for e in (list
'(:nasal "ŋ")
'(:plosive "k") '(:plosive "ɡ")
'(:fricative "x") '(:fricative "ɣ")
'(:approximant "ɰ")
'(:lateral-fricative "ʟ̝̊")
'(:lateral-approximant "ʟ") ) do
(add-sound :velar (car e) (cadr e)))
; Uvular Pulmonic Consonants
(loop for e in (list
'(:nasal "ɴ")
'(:plosive "q") '(:plosive "ɢ")
'(:fricative "χ") '(:fricative "ʁ")
'(:trill "ʀ")
'(:flap "ɢ̆") ) do
(add-sound :uvular (car e) (cadr e)))
; Pharyngeal Pulmonic Consonants
(loop for e in (list
'(:plosive "ʡ")
'(:fricative "ħ") '(:fricative "ʕ")
'(:trill "ʜ") '(:trill "ʢ")
'(:flap "ʡ̯") ) do
(add-sound :pharyngeal (car e) (cadr e)))
; Glottal Pulmonic Consonants
(loop for e in (list
'(:plosive "ʔ")
'(:fricative "h") '(:fricative "ɦ") ) do
(add-sound :glottal (car e) (cadr e)))
最佳答案
要么
使用操作系统:
或
-E UTF-8
command line argument 运行 CLISP (clisp.exe -E UTF-8/path/....
),或这意味着您正在尝试从具有 ASCII 的字符流中读取(“无效字节”)或写入(“字符无法表示”)非 ASCII 字符(或向其写入):EXTERNAL-FORMAT
. -Edomain encoding 中描述了默认值.
这也可能是由文件系统访问引起的。如果您的文件名称与您的 CUSTOM:*PATHNAME-ENCODING*
不兼容,文件系统访问(例如,DIRECTORY
)将SIGNAL
这个ERROR
。您需要设置 CUSTOM:*PATHNAME-ENCODING*
或将 -Edomain encoding
传递给 CLISP。使用“1:1”编码,例如 CHARSET:ISO-8859-1
,应该可以帮助您避免此错误。
请查看官方网站以获取完整文档。
附言。 You now owe me 10 zorkmids
PPS。你的代码 (list '(...) '(...) ...)
看起来很奇怪,你可能想用 '((...) (.. .) ...)
。我的意思是,你的作品也是,只是风格不好。
关于unicode - CLisp:将字符串编码设置为 UTF-8,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44184774/
为什么这段代码不起作用? (setf x '(foo bar (baz))) (labels ((baz () (print "baz here"))) (baz) ;works
我有以下结构: (defstruct node parent state cost) 我有一个 node 类型的结构列表。 我正在尝试实现两个功能: (defun findMinimum
谁能解释一下车队运算符(operator)的部分? : (defun read-3-numbers-&-format-sum () (flet ((prompt (string)
所以我正在尝试学习 Lisp,并在我的 Windows 10 PC 上下载了 GNU CLISP 2.49。我已经在文件中编写了一些代码,我想使用 (load "example.lisp") 命令从
几天来,我一直在用 allegro common lisp 运行一个 lisp 程序。我现在需要使用 clisp,但是当我尝试编译它时,我得到: SYSTEM::%FIND-PACKAGE: Ther
我必须反转一个简单(一维)列表的元素。我知道有一个内置的反向功能,但我不能为此使用它。 这是我的尝试: (defun LISTREVERSE (LISTR) (cond ((
我运行了以下 CLISP 代码,但结果对我来说很奇怪。 (setq a 'b) (setq b 'c) (setq c 'd) (setq d 8) (eval a) (eval c) (eval (
如何配置 apache + mod_lisp + clisp 并设置“Hello World!”?我找不到关于该主题的任何完整指南。谢谢。 编辑:Vebjorn 的解决方案有效,但后来我不知道如何编写
我在 CLISP 实现中看到了#'read-char-sequence 和#'read-byte-sequence 的可用性。热的东西。 但是否有可能在执行所需的读取之前搜索到文件中的特定点? 我搜索
这个问题在这里已经有了答案: Using string object as a hash key in Common Lisp (1 个回答) 关闭 7 年前。 http://imgur.com/u
关闭。这个问题需要details or clarity .它目前不接受答案。 想改进这个问题吗? 通过 editing this post 添加细节并澄清问题. 关闭 5 年前。 Improve t
我想写一个有两个参数的函数一个原子 x 和一个列表 L 并返回列表 L 中小于 x 的数字列表/p> 例如: 列表是 (2 10 3 9 4 8) 并且 x 是 5 输出应该是:(2 3 4) 我想我
我正在尝试创建数组中第一个元素的副本并将副本添加到数组的末尾。然后我想在我刚创建的副本上做工作 (move_NE),更改它而不是原始副本。预期结果是拥有一个包含两个元素的数组,一个指向原始元素,另一个
我正在使用编程语言 clisp。我在 .lisp 文件中有一些函数 X、Y、Z,比方说 A。现在我在 .lisp 文件 B 中编写一个不同的程序,我需要使用 X、Y、Z。 如何在 Clisp 中导入函
我正在寻求帮助来编写一个返回前 15 个立方体列表的函数。这是我目前所拥有的,但我遇到了堆栈溢出: (defun cubes (dec lst) ;takes a number and a list
我正在尝试使用以下代码创建某个单词的子序列。当我添加 by k 时,代码停止响应,但如果我将 k 替换为特定数字,它会起作用。发生了什么事? (let ((c nil)) (loop for k fr
我在 mac os X 终端中运行 CLISP。像 (% 3 5) 这样的简单评估输出 评估:未定义的函数 % 它在 emacs 的 ielm 模式下正确评估。在此先感谢您的帮助 最佳答案 函数的名称
我是 Lisp 的新手,我正在尝试使用简单的 dfs(深度优先搜索)解决一个 8 难题。但是我遇到程序堆栈溢出。我的代码: (setq used (list)) (defun is_used (sta
出了什么问题? [1]> (log (exp 1)) 0.99999994 最佳答案 这是由于小数的浮点表示的精度有限。 请参阅:http://en.wikipedia.org/wiki/Floa
我一直试图在 CLISP 中查看获取目录中所有文件的列表,但我只能获取目录中的所有非目录文件。 我目前正在使用 cygwin 在 Windows 7 中尝试此操作,因此这可能会影响我的结果。我对 CL
我是一名优秀的程序员,十分优秀!