Я всегда задавался вопросом, почему мы не можем использовать дефисы промежуточные имена функций и имена переменной в Python
Попробовав языки функционального программирования как Lisp и Clojure, где дефисы позволяются. Почему Python не делает этого.
# This won't work -- SyntaxError
def is-even(num):
return num % 2
# This will work
def is_even(num):
return num % 2
Я уверен, что сэр Guido, должно быть, сделал это из-за некоторых причин. Я погуглил, но не мог суметь найти ответ. Кто-либо может пролить некоторый свет на это?
Используйте опцию . Опция (см. Документацию здесь: http://docs.jquery.com/plugins/validation/validate#toptions )
$('#RegisterForm').validate({
rules: {
Country:{required: true},
State:{required: true}
},
messages: {
Country:{required: "Select Country"},
State:{required: "Select State"}
},
errorPlacement: function(error, element) {
error.appendTo( element.parent("td").next("td") );
}
});
Конечно, вам придется адаптировать код вашей ситуации.
-121--3126715-, поскольку дефис используется в качестве оператора вычитания. Представьте, что вы могли иметь , есть - даже функция
, а затем у вас был такой код:
my_var = is-even(another_var)
это - даже (only_var)
Функция - даже
, или это вычитает результат функции даже
из переменной с именем
?
Диалекты Lisp не имеют этого Проблема, поскольку они используют префиксную запись. Например, существует четкая разница между
(is-even 4)
и
(- is (even 4))
в LISP.
Поскольку Python использует запись INFIX для представления расчетов и дефис и минус имеет тот же самый код ASCII. Вы можете иметь неоднозначные случаи, такие как:
a-b = 10
a = 1
b = 1
c = a-b
Что такое ответ? 0 или 10?
Поскольку он сделает парсер еще более сложным. Это тоже будет запутано для программистов.
Рассмотрим Def - даже (Num):
: Теперь, если - это
- это глобальная переменная, что происходит?
также обратите внимание, что -
Является ли оператор вычитания в Python, поэтому дополнительно усложняет анализ.
is-even(num)
содержит дефис? Я думал, что это вычитание значения, возвращаемого функцией даже с аргументом num, из значения is.
Как говорит @jdupont, синтаксический анализ может быть непростым.
Марк