Вы можете использовать аргумент --form
с явно
curl -H "Content-Type: multipart/related" \
--form "data=@example.jpg;type=image/jpeg" http://localhost:3000/test
. Это поведение такое же, как и в математических формулах, поэтому я Я не уверен, в чем проблема или почему это противоречит интуиции. Вы можете объяснить, где вы видели что-то другое? «**» всегда связывает больше, чем «-»: -x ^ 2 не то же самое, что (-x) ^ 2
Просто используйте (-1) ** 2, точно так же, как в математике.
Краткий ответ: это стандартный способ работы приоритета в математике.
Допустим, я хочу вычислить многочлен 3x 3 - x 2 + 5.
def polynomial(x):
return 3*x**3 - x**2 + 5
Это выглядит лучше, чем ...
def polynomial
return 3*x**3 - (x**2) + 5
И первый способ - это то, как это делают математики. Другие языки с возведением в степень работают точно так же. Обратите внимание, что оператор отрицания связывает более свободно, чем умножение, поэтому
-x*y === -(x*y)
То же самое и в математике.
Другие языки с возведением в степень работают точно так же. Обратите внимание, что оператор отрицания связывает более свободно, чем умножение, поэтому-x*y === -(x*y)
То же самое и в математике.
Другие языки с возведением в степень работают точно так же. Обратите внимание, что оператор отрицания связывает более свободно, чем умножение, поэтому-x*y === -(x*y)
То же самое и в математике.
Если бы мне пришлось угадывать, это было бы потому, что наличие оператора возведения в степень позволяет программистам легко возводить числа в дробные степени. Отрицательные числа, возведенные в дробную степень, обычно имеют мнимую составляющую, так что этого можно избежать, привязав ** более жестко, чем унарный -. Большинство языков не любят мнимые числа.
В конечном итоге, конечно, это просто соглашение - и чтобы сделать ваш код читаемым для вас и других, вы, вероятно, захотите явно сгруппировать свой (-1), чтобы никто другой не попадется в эту ловушку :) Удачи!
Мне это кажется интуитивным.
Во-первых, потому что это согласуется с математической записью: -2 ^ 2 = -4.
Во-вторых, оператор ** был широко представлен в FORTRAN long давно. В FORTRAN -2 ** 2 также равно -4.
Окамл не делает то же самое
# -12.0**2.0
;;
- : float = 144.
Это как-то странно ...
# -12.0**0.5;;
- : float = nan
Но посмотрите на эту ссылку ... порядок операций