Тип опциональной переменной

Автор rami, 16 февраля 2016, 10:44

0 Пользователи и 1 гость просматривают эту тему.

rami

Переменная n объявляется как Integer, несмотря на это реально получается String, в результате x=1001, а не 101 как должно быть.  ??? ??? ??? (Я говорю о типах переменных, а не о вычислениях)
Option Compatible
Sub main(Optional n As Integer =100)
Dim x%
x=n+1
End Sub

JohnSUN

Ага... Вообще тип игнорируется. Типа, "особенности реализации". И в LO, и в AOO одинаково. Впрочем, если вызвать процедуру с указанием параметров, то тип присваивается правильно.
То-то они во всех примерах настаивают на использовании IsMissing()...
Ну, значит, обнаружена ещё одна возможность "грязного хака". Пример сходу придумать сложно, но знать, что такая возможность есть - полезно. Мерси!
Владислав Орлов aka JohnSUN
Благодарить-не зазорно.
Подарить благо создателям офиса, нашему ресурсу, мне

rami

Кстати решение проблемы простое: нужно просто вызвать переменную:Option Compatible
Sub main(Optional n As Integer =100)
Dim x%
n
x=n+1
End Sub

Но почему сразу тип не устанавливается ??? ??? ???

kompilainenn

Цитата: rami от 16 февраля 2016, 09:22Но почему сразу тип не устанавливается
потому что это не Питон?
Поддержать разработчиков LibreOffice можно тут, а наш форум вот тут