Как сохранить комментарии к набору переменных через “M-x, настраивают” на emacs?

Arrrgh! Не слушайте ответы регулярного выражения. RegEx непригляден для этого, и я не говорю просто производительность. Настолько легко сделать тонким, невозможным определить ошибки с Вашим регулярным выражением.

, Если Вы не можете использовать isNaN(), это должно работать намного лучше:

function IsNumeric(input)
{
    return (input - 0) == input && (''+input).trim().length > 0;
}

Вот то, как это работает:

(input - 0) выражение вынуждает JavaScript сделать приведение типа на Вашем входном значении; это должно сначала быть интерпретировано как число для операции вычитания. Если то преобразование в число перестанет работать, выражение приведет к NaN. Это числовой результат тогда по сравнению с исходным значением, в котором Вы передали. Так как левая сторона является теперь числовой, введите приведение, снова используется. Теперь, когда вход с обеих сторон был принужден к тому же типу от того же исходного значения, Вы будете думать, что они должны всегда быть тем же (всегда верный). Однако существует специальное правило, в котором говорится NaN, никогда не равно NaN, и таким образом, значение, которое не может быть преобразовано в число (и только оценивает, который не может быть преобразован в числа) приведет ко лжи.

проверка на длине для особого случая, включающего пустые строки. Также обратите внимание, что это падает на Ваш тест 0x89f, но поэтому во многих средах это хорошо способ определить литерал числа. Если Вы хотите поймать тот определенный сценарий, Вы могли бы добавить дополнительную проверку. Еще лучше, если это - Ваша причина того, чтобы не использовать isNaN(), тогда просто обертывают Вашу собственную функцию [приблизительно 117], которые могут также сделать дополнительную проверку.

, Таким образом, , если Вы хотите знать, может ли значение быть преобразовано в число, на самом деле попытайтесь преобразовать его в число.

<час>

я возвратился и провел некоторое исследование для [1 112], почему пробельная строка не имела ожидаемого вывода, и я думаю, что получаю его теперь: пустая строка принуждена к 0, а не NaN. Просто обрезая строку, прежде чем проверка длины обработает этот случай.

Выполнение модульных тестов против нового кода и это только перестало работать на бесконечности и булевых литералах, и единственное время, которое должно быть проблемой, - то, при генерации кода (действительно, кто ввел бы в литерале и проверке, если это является числовым? Вы должны знать ), и это было бы некоторым странным кодом для генерации.

, Но, снова, единственная причина когда-либо для использования это - то, если по некоторым причинам необходимо избежать isNaN ().

7
задан Helder S Ribeiro 9 August 2009 в 06:11
поделиться

2 ответа

Лично я переместил все свои настройки из файла customize в свой файл .emacs. В основном потому, что мне действительно не нравится пользовательский интерфейс для настройки.

Итак, вместо этого мой пользовательский файл:

(custom-set-variables
  ;; custom-set-variables was added by Custom.
  ;; If you edit it by hand, you could mess it up, so be careful.
  ;; Your init file should contain only one such instance.
  ;; If there is more than one, they won't work right.
 '(scheme-program-name "scheme")
 '(tetris-use-glyphs nil))

У меня:

 (setq
  scheme-program-name "scheme"      ; because I like it
  tetris-use-glyphs nil)            ; it's an example

При этом, как говорится, переменная пользовательского набора действительно принимает ряд аргументов, один из которых это комментарий. Итак, вы можете сделать:

(custom-set-variables
  ;; custom-set-variables was added by Custom.
  ;; If you edit it by hand, you could mess it up, so be careful.
  ;; Your init file should contain only one such instance.
  ;; If there is more than one, they won't work right.
 '(scheme-program-name "scheme" nil nil "this is a comment")
 '(tetris-use-glyphs nil nil nil "This is another comment"))

Комментарий будет удален только при изменении значения переменной, а не при изменении других переменных. Я не уверен, что это правильное использование для этого. Ch f переменные пользовательского набора содержит дополнительную информацию.

5
ответ дан 7 December 2019 в 03:18
поделиться

По крайней мере, начиная с 22.3, вы можете включать комментарий при настройке чего-либо. Нажмите «Состояние» -> «Добавить комментарий». Это сохраняется в командах настройки в вашем .emacs:

'(global-hi-lock-mode t nil nil «Да! Да да да да ДА!»)

(Очевидно, я был взволнован, когда обнаружил, что настройки.)

4
ответ дан 7 December 2019 в 03:18
поделиться
Другие вопросы по тегам:

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