:
mvn install:install-file -Dfile=c:\kaptcha-{version}.jar -DgroupId=com.google.code
-DartifactId=kaptcha -Dversion={version} -Dpackaging=jar
Я никогда не видел его записанным, но я кратко объясняю по двум причинам:
"i"
, и это было бы слишком похоже на "I"
Значение, которое может принимать длинное целое, зависит от размера слова. R не поддерживает целые числа со словом длиной 64 бит. Целые числа в R имеют длину слова 32 бита и подписаны и, следовательно, имеют диапазон от −2,147,483,648
до 2,147,483,647
. Большие значения сохраняются как double
.
Эта страница wiki содержит дополнительную информацию об общих типах данных, их условных именах и диапазонах.
А также из ?integer
Обратите внимание, что в текущих реализациях R используются 32-битные целые числа для целых векторов, поэтому диапазон представляемых целых чисел ограничен примерно +/- 2 * 10 ^ 9: удваиваются намного больше целых чисел.
blockquote>
Почему 1.0L и 1.1L возвращают разные типы?
Причина, по которой
1.0L
и1.1L
возвращает разные типы данных, заключается в том, что возвращение целое число для1.1
приведет к потере информации, в то время как для1.0
он не будет (но вы, возможно, захотите узнать, что у вас больше нет числа с плавающей запятой). Погруженный глубоко с помощью лексического анализатора (/src/main/gram.c:4463-4485
) является этим кодом (частью функцииNumericValue()
), который фактически создает тип данныхint
из входаdouble
, который суффикс ascii"L"
:/* Make certain that things are okay. */ if(c == 'L') { double a = R_atof(yytext); int b = (int) a; /* We are asked to create an integer via the L, so we check that the double and int values are the same. If not, this is a problem and we will not lose information and so use the numeric value. */ if(a != (double) b) { if(GenerateCode) { if(seendot == 1 && seenexp == 0) warning(_("integer literal %s contains decimal; using numeric value"), yytext); else { /* hide the L for the warning message */ *(yyp-2) = '\0'; warning(_("non-integer value %s qualified with L; using numeric value"), yytext); *(yyp-2) = (char)c; } } asNumeric = 1; seenexp = 1; } }