7

当我执行时使用 parenscript

(附文:ps
 (槽值($“#mytextarea”)'selectionStart))

它产生 javascript

$('#mytextarea').selectionstart;

请注意,selectionStart现在是selectionstart. 它丢失了大写的 S Start!我如何保留那个大写的S?

4

2 回答 2

7

Parenscript 将自动从 lisp 命名约定(用破折号分隔单词)转换为 CamelCase,因此:

(parenscript:ps 
 (slot-value ($ "#mytextarea") 'selection-start))

结果是

"$('#mytextarea').selectionStart;"
于 2009-10-20T21:20:52.690 回答
1

正如 Pillsy 所说,当 Lisp 编译器读取所有符号时,默认情况下它们都是大写的。不过,有一种方法可以关闭它。有关详细信息,请参阅CLHS,23.1.2(Readtable 案例对 Lisp 阅读器的影响)和访问器的描述readtable-case。例如,您可以通过将以下内容放入您的 Lisp 源文件中来启用“反转”模式(可以说这是唯一区分大小写的实用设置):

#.(setf (readtable-case *readtable*) :invert)

不幸的是,ParenScript 似乎并没有过多地使用自定义的 readtable-case 设置,尽管它可以(并且在我看来应该)这样做。

于 2009-10-28T14:33:35.993 回答