Может кто объяснить чем отличается RETURN var от RETURN(var)?
Читаю хелп, ничего не понимаю ((
Оператор RETURN
Clarion, Clarion 7
Модератор: Дед Пахом
Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
ShilakAV
Dias2004
Admin
- Дед Пахом
- Старичок
- Сообщения: 3309
- Зарегистрирован: 07 Июль 2005, 16:51
- Откуда: Москва, Россия
- Благодарил (а): 15 раз
- Поблагодарили: 51 раз
- Контактная информация:
RETURN имеет только один вид:
RETURN [expression]
а [expression] может быть как со скобками, так и без ( к ретурну это уже не относится).
А теперь цитата из русского хелпа:
RETURN [expression]
а [expression] может быть как со скобками, так и без ( к ретурну это уже не относится).
А теперь цитата из русского хелпа:
Всё ясно?Выражение в круглых скобках – это выражение допустимое с точки зрения синтаксиса. Если в круглые скобки заключена переменная, то выражение разыменовывается значением этой переменной и преобразуется в один из базовых типов. Относительно использования скобок с RETURN, если функция имеет тип возвращаемой переменной, возвращаемая переменная использованныя в операторе RETURN не должна заключаться в круглые скобки.

С уважением, ДП
Дед Пахом
Суть в том, что возвращаемое значение может быть или byRef или valueType. В первом случае передается только референс на переменную, но не значение самой переменной. Во втором случае - само значение.
Иначе говоря RETURN (Val), говорит компилятору о том что Val необходимо всегда приводить к значению, даже если это референс. Например, если Val это CLASS или INTERFACE, компилятор должен выдать ошибку.
Так ли это на самом деле не проверял...
Иначе говоря RETURN (Val), говорит компилятору о том что Val необходимо всегда приводить к значению, даже если это референс. Например, если Val это CLASS или INTERFACE, компилятор должен выдать ошибку.
Так ли это на самом деле не проверял...
Regards,
TC
TC
try-catch
Именно так. Очень часто встречается в классахtry-catch писал(а):Суть в том, что возвращаемое значение может быть или byRef или valueType. В первом случае передается только референс на переменную, но не значение самой переменной. Во втором случае - само значение.
Иначе говоря RETURN (Val), говорит компилятору о том что Val необходимо всегда приводить к значению, даже если это референс. Например, если Val это CLASS или INTERFACE, компилятор должен выдать ошибку.
Так ли это на самом деле не проверял...
S &CString
NewString procedure(String S),&CString
Local &CString
Code
Local &= New Cstring(Len(S)+1)
Local = S
Return Local
После вызова S &= NewString('Строка') в процедуре будет создана строка и ссылка присвоена S. Если написать Return(Local) - ссылка должна быть разыменована.
Yufil
Вернуться в «CLARION for Windows»
Перейти
- CW
- ↳ CLARION for Windows
- ↳ CLARION for Internet
- ↳ Clarion.NET
- Эксклюзив
- ↳ Приват
- CLARION и...
- ↳ Reports
- ↳ Железо
- ↳ Готовые программы, шаблоны, библиотеки...
- ↳ cJSON
- ↳ LibCurl
- ↳ MAV
- ↳ SQL, Oracle, ...
- ↳ Multi-программирование(Pascal/Delphi, и т.д.)
- ↳ WinDev
- DOS
- ↳ CLARION for DOS
- Разное
- ↳ Новости
- ↳ English
- ↳ Ресурсы
- ↳ Работа
- ↳ Обо всем ...
- ↳ Обсуждение этого Форума (типа, Гостевая книга)