Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
int a
иdef a
одно и тоже?Groovy Shell (1.8.6, JVM: 1.6.0_23)
Type 'help' or '\h' for help.
----------------------------------------------------------------------------
groovy:000> int a = "asdasd";
ERROR org.codehaus.groovy.runtime.typehandling.GroovyCastException:
Cannot cast object 'asdasd' with class 'java.lang.String' to class 'int'
at groovysh_evaluate.run (groovysh_evaluate:2)int a = "a" А стоит ли овчинка выделки? Есть ли смысл делать такую сложную опцию в трансляторе или может лучше сделать вместо неё какую оптимизацию результата компиляции или самого процесса? А если вам нужна такая проверка, то, повторюсь, вероятно вы не тот инструмент выбрали.1 + "1" выдаст ошибку «unsupported operand type(s) for +: 'int' and 'str'» в рантайме. Ошибка по сути та же самая, что выдаст Groovy в случае int a = "a", просто Python изменяет тип левого операнда в присваивании, а Groovy не может, пытается изменить только значение.5.euro + 4.dollars
Groovy как лучшая Java