Spec-Zone.ru › Julia 0.6

Переменные

Переменная в Julia — это имя, связанное (или привязанное) к значению. Она полезна, когда нужно сохранить значение (например, полученное после вычислений) для последующего использования. Например:

# Assign the value 10 to the variable x
julia> x = 10
10

# Doing math with x's value
julia> x + 1
11

# Reassign x's value
julia> x = 1 + 1
2

# You can assign values of other types, like strings of text
julia> x = "Hello World!"
"Hello World!"

Julia предоставляет чрезвычайно гибкую систему именования переменных. Имена переменных регистрозависимы и не имеют семантического значения (то есть язык не будет относиться к переменным по-разному в зависимости от их имен).

julia> x = 1.0
1.0

julia> y = -3
-3

julia> Z = "My string"
"My string"

julia> customary_phrase = "Hello world!"
"Hello world!"

julia> UniversalDeclarationOfHumanRightsStart = "人人生而自由,在尊严和权利上一律平等。"
"人人生而自由,在尊严和权利上一律平等。"

Разрешены имена с использованием Юникода (в кодировке UTF-8):

julia> δ = 0.00001
1.0e-5

julia> 안녕하세요 = "Hello"
"Hello"

В интерактивной оболочке Julia REPL и некоторых других средах разработки Julia вы можете ввести многие математические символы Юникода, набрав обратную косую черту, имя символа в LaTeX и нажав Tab. Например, имя переменной δ можно ввести, набрав \delta-Tab, или даже α̂₂ набрав \alpha-Tab-\hat- Tab-\_2-Tab. (Если вы найдёте символ где-то, например, в чьем-то коде, и не знаете, как его набрать, подсказка в REPL вам поможет: просто наберите ? и затем вставьте символ.)

Julia даже позволит вам переопределять встроенные константы и функции, если это необходимо:

julia> pi
π = 3.1415926535897...

julia> pi = 3
WARNING: imported binding for pi overwritten in module Main
3

julia> pi
3

julia> sqrt(100)
10.0

julia> sqrt = 4
WARNING: imported binding for sqrt overwritten in module Main
4

Однако, это явно не рекомендуется, чтобы избежать потенциальной путаницы.

Разрешённые имена переменных

Имена переменных должны начинаться с буквы (A-Z или a-z), символа подчеркивания или подмножества кодовых точек Юникода, больших 00A0; в частности, разрешены категории символов Юникода Lu/Ll/Lt/Lm/Lo/Nl (буквы), Sc/So (валюты и другие символы), а также некоторые другие символы, похожие на буквы (например, подмножество математических символов Sm). Последующие символы также могут включать ! и цифры (0-9 и другие символы в категориях Nd/No), а также другие кодовые точки Юникода: диакритические знаки и другие модифицирующие знаки (категории Mn/Mc/Me/Sk), некоторые знаки препинания (категория Pc), штрихи и некоторые другие символы.

Операторы, такие как +, также являются допустимыми идентификаторами, но обрабатываются особым образом. В некоторых контекстах операторы могут использоваться как переменные; например, (+) относится к функции сложения, а (+) = f переопределит её.

Большинство инфиксных операторов Юникода (в категории Sm), таких как ⊕, обрабатываются как инфиксные операторы и доступны для пользовательских методов (например, вы можете использовать const ⊗ = kron для определения ⊗ как инфиксного произведения Кронекера).

Единственные явно запрещённые имена для переменных — это имена встроенных операторов:

julia> else = false
ERROR: syntax: unexpected "else"

julia> try = "No"
ERROR: syntax: unexpected "="

Некоторые символы Юникода считаются эквивалентными в идентификаторах. Различные способы ввода комбинированных символов Юникода (например, знаков ударения) рассматриваются как эквивалентные (конкретно, идентификаторы Julia нормализуются в соответствии с NFC). Символы Юникода ɛ (U+025B: латинская маленькая открытая е) и µ (U+00B5: знак микро) считаются эквивалентными соответствующим греческим буквам, так как первые легко доступны через некоторые методы ввода.

Стилевые рекомендации

Хотя Julia и накладывает немного ограничений на допустимые имена, полезно принять следующие соглашения:

  • Имена переменных пишутся строчными буквами.

  • Разделение слов может обозначаться символом подчеркивания ('_'), но использование подчеркивания не рекомендуется, если это не необходимо для улучшения читаемости.

  • Имена Type и Module начинаются с заглавной буквы, а разделение слов выполняется с использованием верхнего верблюжьего регистра вместо подчеркивания.

  • Имена function и macro пишутся строчными буквами без подчеркивания.

  • Функции, которые записывают данные в свои аргументы, имеют имена, оканчивающиеся на !. Иногда их называют «мутирующими» или «функциями на месте», потому что они предназначены для изменения своих аргументов после вызова функции, а не просто для возвращения значения.

Дополнительную информацию о стилистических соглашениях можно найти в руководстве по стилю.

© 2009–2016 Jeff Bezanson, Stefan Karpinski, Viral B. Shah, and other contributors
Licensed under the MIT License.
https://docs.julialang.org/en/release-0.6/manual/variables/

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API