Spec-Zone .ru
спецификации, руководства, описания, API
|
Некоторые типы являются типами значения. У типов значения есть следующие характеристики:
В настоящий момент единственные типы значения являются Строкой, Целым числом, Числом, Булевым, и Продолжительность. У этих типов есть встроенная поддержка на языке:
Строка, Целое число, Число, Булево, и Продолжительность, обсуждаются в этом разделе.
Строка представляет символьные строки. Значение по умолчанию для Строкового типа является пустой строкой ("").
StringLiteral: OneStringLiteral StringLiteral OneStringLiteral OneStringLiteral: " DoubleQuoteStringCharactersopt " ' SingleQuoteStringCharactersopt ' DoubleQuoteStringCharacters: DoubleQuoteStringCharacter DoubleQuoteStringCharacters DoubleQuoteStringCharacter DoubleQuoteStringCharacter: InputCharacter but not ", {, } or \ \ InputCharacter SingleQuoteStringCharacters: SingleQuoteStringCharacter SingleQuoteStringCharacters SingleQuoteStringCharacter SingleQuoteStringCharacter: InputCharacter but not ', {, } or \ \ InputCharacter
Литералы заключаются в скобки или в одинарных или в двойных кавычках. Таким образом, двойная кавычка, сопровождаемая последовательностью символов (здесь "последовательность" не обращается к количеству элементов), и заканчивающийся двойной кавычкой. Например:
"brown cow"
Или одинарная кавычка, сопровождаемая последовательностью символов и заканчивающийся одинарной кавычкой. Например:
'This is so %#@*^ exciting!'
Если последовательность символов включает фигурные скобки (' {' или'}',) это - строковое выражение. Любого символа можно оставить с символом наклонной черты влево (' \') - это полезно для включения фигурной скобки, кавычки, и символов наклонной черты влево. Отметьте, что одинарные кавычки могут быть включены в двойные заключенные в кавычки строки без того, чтобы быть оставленным, и визу versa. Например:
"Then she said 'shazam', and abruptly left"
Последовательность символов не должна включать возврат каретки или перевод строки. Две смежных строки автоматически объединяются во время компиляции - это удобно для того, чтобы сделать многократные строки строки. Таким образом:
def greeting = "Hello " 'there'; println( greeting );
напечатает:
Hello there
Когда приложение выводит на экран некоторый текст пользователю, требуется, чтобы текст был на собственном языке пользователя. "Локализация" является механизмом, чтобы быть в состоянии заменить строковый литерал преобразованием, выбранным во времени выполнения.
Если двойной знак хеша ##
снабжается префиксом к строковому литералу, JavaFX заменяет строковым литералом с локализованным во времени выполнения, если JavaFX находит соответствующую локализацию в файлах свойств JavaFX на пути к классу. Файл свойств JavaFX содержит локализованные строки для локали как "key" = "value"
пары. Локализованные строки ищутся, используя исходные строковые литералы в качестве ключей. Если никакая локализованная строка не находится, исходный строковый литерал используется в качестве значения по умолчанию. Дополнительно, явные ключи могут быть определены с квадратными скобками ([]
). Например:
def mon = ##"Monday"; def about = ##[ABOUT]"JavaFX is a cool scripting language!"; println( mon ); println( about );
Предположите, что этот сценарий Foo.fx
, и есть файл свойств JavaFX для французского языка Foo_fr.fxproperties
, который содержит следующую локализацию:
"Monday" = "Lundi" "ABOUT" = "JavaFX est un langage de script cool !"
Сценарий напечатает:
Lundi JavaFX est un langage de script cool !
во французской локали. Можно также обеспечить, многоуровневые файлы свойств для более прекрасного гранулировали управление. Например, можно обеспечить локализованные тексты, которые являются Францией, определенной в Foo_fr_FR.fxproperties
, и сохраните другие французские локализованные тексты, которые являются страной, независимой в Foo_fr.fxproperties
. Затем JavaFX ищет соответствующие локализованные тексты, делая попытку следующего поиска нейтрализации во французской Франции (fr_FR
) локаль:
Foo_fr_FR.fxproperties Foo_fr.fxproperties (original string)
Для получения дополнительной информации по локали и как файл свойств JavaFX располагается, обратитесь к java.util.Locale
и java.util.ResourceBundle
классы платформы Java.
Кодирование файла свойств JavaFX UTF-8
. Другие кодировки могут быть определены с @charset
направляющий. Например:
@charset "ISO-8859-1";
определяется в первой строке файла свойств JavaFX, файл читается в ISO-8859-1
кодирование. Если строковый литерал содержит строковые выражения, соответствующие свойства должны только содержать FORMAT_STRING_LITERAL
части строковых выражений, без изогнутых фигурных скобок и частей выражения. Например:
def gCal = new GregorianCalendar(1995, Calendar.MAY, 23); def bday = ##"The birthday of Duke is {%1$tB gCal} {%2$te gCal}, {%3$tY gCal}.";
Затем файл свойств JavaFX, который содержит локализованный текст для"bday
"должен быть похожим (например, для французского языка):
"The birthday of Duke is %1$tB %2$te, %3$tY." = "L'anniversaire du duc est le %2$te %1$tB %3$tY."
Отметьте что позиция тех FORMAT_STRING_LITERAL
части (обозначенный [argument_index]$
) может измениться в локализованных текстах.
Строковые выражения имеют Строковый тип - см. главу Выражений
IntegerLiteral: DecimalIntegerLiteral HexIntegerLiteral OctalIntegerLiteral DecimalIntegerLiteral: 0 NonZeroDigit Digitsopt Digits: Digit Digits Digit Digit: 0 NonZeroDigit NonZeroDigit: one of 1 2 3 4 5 6 7 8 9 HexIntegerLiteral: 0 x HexDigits 0 X HexDigits HexDigits: HexDigit HexDigit HexDigits HexDigit: one of 0 1 2 3 4 5 6 7 8 9 a b c d e f A B C D E F OctalIntegerLiteral: 0 OctalDigits OctalDigits: OctalDigit OctalDigit OctalDigits OctalDigit: one of 0 1 2 3 4 5 6 7
Целочисленный тип представляет целые числа в диапазоне-2147483648 к 2147483647, включительно. Значение по умолчанию для Целочисленного типа является нулем (0).
Целые числа могут быть представлены в десятичных, восьмеричных, или шестнадцатеричных форматах. Десятичный формат является цифрой 1 - 9, сопровождаемой цифрами в диапазоне 0 до 9, или просто 0 отдельно. Восьмеричный формат является цифрой 0, сопровождаемой цифрами в диапазоне 0 до 7. Шестнадцатеричный формат является цифрой 0 после 'x' или 'X' тогда сопровождаемый цифрами в диапазоне 0 до 9 или через F (верхний регистр или нижний регистр). Они - все допустимые Целочисленные литералы:
145 0 012 0xFF
Тип Числа представляет числа с плавающей точкой.
NumberLiteral: Digits . Digitsopt ExponentPartopt . Digits ExponentPartopt Digits ExponentPartopt ExponentPart: ExponentIndicator SignedInteger ExponentIndicator: one of e E SignedInteger: Signopt Digits Sign: one of + -
Следующее является допустимыми литералами Числа:
12.3 0.629 3.9e4 1.7662E-34
Булев представляет истину и ложь значений.
BooleanLiteral: one of
true false
Эти два, и только, Булевы литералы:
true false
Продолжительность представляет количество времени.