Почему функции parenscript изменяются на весь нижний регистр?

Если независимость от платформы является соображением, Вы могли бы хотеть проверить jMonkeyEngine. Это - базирующийся 3D механизм графика сцены, записанный в Java.

public class HelloWorld extends SimpleGame{
 public static void main(String[] args) {
  HelloWorld app = new HelloWorld(); // Create Object
  // Signal to show properties dialog
  app.setConfigShowMode(ConfigShowMode.AlwaysShow);
  app.start(); // Start the program
 }
 protected void simpleInitGame() {
  // Make a box
  Box b = new Box("Mybox", new Vector3f(0,0,0), new Vector3f(1,1,1));
  rootNode.attachChild(b); // Put it in the scene graph
 }
}

, Что бит кода - все, которое необходимо начать отображать 3D примитивы на экране. Этот пример имеет большую основную функциональность, встроенную для Вас, включая управление камерой, перемещение WASD и всестороннюю статистику производительности. Можно, конечно, переопределить все это и сделать что-либо, что Вы хотели бы.

7
задан Svante 21 October 2009 в 07:03
поделиться

2 ответа

Parenscript автоматически преобразует соглашение об именах Lisp (тире, разделяющие слова) в CamelCase, поэтому:

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

приводит к

"$('#mytextarea').selectionStart;"
7
ответ дан 7 December 2019 в 05:25
поделиться

Как заметил Пилси, все символы по умолчанию начинаются с верхнего регистра, когда они читаются компилятор Лиспа. Однако есть способ отключить это. См. CLHS, 23.1.2 (Влияние Readtable Case на Lisp Reader), и описание метода доступа readtable-case для подробностей. В качестве примера вы можете включить режим «инвертирования» (который, возможно, является единственной практической настройкой, которая также чувствительна к регистру), поместив в исходный файл Lisp следующее:

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

К сожалению, ParenScript, похоже, мало использует настраиваемого параметра readtable-case, даже если он может (и, по моему мнению, должен) это делать.

1
ответ дан 7 December 2019 в 05:25
поделиться
Другие вопросы по тегам:

Похожие вопросы: