Указатель

Тема в разделе "Lotus - Программирование", создана пользователем T1000, 1 дек 2009.

  1. T1000

    T1000 Гость

    Всем добра и щастья! :)

    Вопрос можно сказать с "потолка" (просто суть задачи описать мне сейчас сложнее).
    Есть ли в Lotus такая фишка как указатель на переменную\массив и т.д.
    Если есть черканите плз пример кода, если же нет, буду думать :ble: :trash: как без этого обойтись.
     
  2. TIA

    TIA :-)
    Lotus team

    Регистрация:
    15 май 2009
    Сообщения:
    790
    Симпатии:
    0
    Есть. В некотором смысле все переменные объектов и есть указатели.
    Пример:

    Dim doc as notesDocument
    Dim doc2 as notesDocument

    Set doc = doc2
    Msgbox doc is doc2

    Передача параметров по-умолчанию тоже происходит по ссылке

    Sub foo( s as string)
    ...
    s="B"
    End Sub

    Sub Click
    dim s1 as string
    s1 = "A"
    foo s
    msgbox s
    End Sub
     
  3. T1000

    T1000 Гость

    чОрд, забыл я С\С++ совсем :) (они там вроде со знаком умножить перед именем переменной объявляются)
    Меня интересует все же указатели на переменные, а не на объекты. Что-то типа
    dim ar(10) as integer
    dim *x

    *x=ar ' в х соответственно храниться ar(0), и доступ к любому элементу можно осуществлять как *(x+номер)=данные
    заранее звиняйте если что с синтаксисом сей не так (я его почти забыл уже :ble: )
     
  4. lmike

    lmike нет, пердело совершенство
    Команда форума Lotus team

    Регистрация:
    27 авг 2008
    Сообщения:
    6.073
    Симпатии:
    299
    если планируется "играть" в формирование и подстановку указателей и вызовов (как в Си) - ждет облом :)
    но есть и "плюсы" интерпретируемых языков - рантайм "сборка" из кода (Execute)
    есть java и рефлекшн - там "динамики" достаточно...

    и ваще - не корректно переносить "подходы" одного языка в др.
     
  5. Klido

    Klido Гость

    самое время вспомнить VB или уже Java :)
     
  6. T1000

    T1000 Гость

    java и рефлекшн это просто не нужно.
    я не старался перенести подход, просто подумал что при изучении лотуса я этот момент упустил\не нашел\вообще не выучил.

    спс, значит не буду более голову ломать. нет значит нет.
     
  7. nvyush

    nvyush Lotus team
    Lotus team

    Регистрация:
    22 апр 2009
    Сообщения:
    2.317
    Симпатии:
    0
    Есть ещё один момент в Лотусе, который сильно напрягает после С++ и др. В LS нет глобальных переменных уровня приложения. Для чисел и строк можно с некоторыми оговорками пользовать переменные окружения или профильные документы, а вот с объектными переменными большой облом. Обходные пути слишком сложны, чтобы их рекомендовать.
     
  8. TIA

    TIA :-)
    Lotus team

    Регистрация:
    15 май 2009
    Сообщения:
    790
    Симпатии:
    0
    Хм. Поcле С++, LS - это детская песочница. Как Зюзик после Порше. Напрягает всё.
     
  9. ToxaRat

    ToxaRat Чёрный маг
    Lotus team

    Регистрация:
    6 ноя 2007
    Сообщения:
    3.046
    Симпатии:
    18
    если тебе нужно задеклалировать функцию требующей указатель то делай так
    Declare MyFun ..... (ByVal a1 as integer)
    в данном случае из-за ByBal передасться указатель
     
  10. Akupaka

    Akupaka А че я?.. О.о

    Регистрация:
    4 окт 2007
    Сообщения:
    3.373
    Симпатии:
    2
    з дуба впав? :D

    абсолютно ничего не напрягает :) и вообще! дышиться легко! не надо париться!
    единственное чего мне пока в коде не хватало - указатели на процедуры, т.к. механизм call-back вызова нельзя использовать стандартными сттредствами. и то, у меня эта задача была только для глупой попытки создания своего окна... и еще когда-то. в общем, для апишек.
     
  11. TIA

    TIA :-)
    Lotus team

    Регистрация:
    15 май 2009
    Сообщения:
    790
    Симпатии:
    0
    Аутотренинг? :)

    Нехватает:
    Предпроцессора, множественного наследования, шаблонов, более гибкого управления областью видимости, перечислений, пространств имён и т.д. и т.п. и т.д. и т.п. и т.д. и т.п. и т.д. и т.п. и т.д. и т.п. и т.д. и т.п. :D
     
  12. Klido

    Klido Гость

    ... и Вы напишете ЛОТУС :D но так получилось, что кое-кто "постарался", чтоб мы не заморачивались :)
     
  13. TIA

    TIA :-)
    Lotus team

    Регистрация:
    15 май 2009
    Сообщения:
    790
    Симпатии:
    0
    С какого это перепугу? :D И не надо путать Лотус как платформу и язык цветочных писем (LS).
     
  14. lmike

    lmike нет, пердело совершенство
    Команда форума Lotus team

    Регистрация:
    27 авг 2008
    Сообщения:
    6.073
    Симпатии:
    299
    вот не всем "этого" не хватает (впомним процедурные языки)...
    и потом - java перекрывает почти всё (с версии 1.6) и встроена в платформу...
    каждый инструмент решает свои задачи

    я себе слабо представляю платформу (как единое целое) со встроенным плюсовым движком ;) - обычно стараются отстранить... разрабов, дабы "шаловливые руки" не похачили основу
     
  15. Akupaka

    Akupaka А че я?.. О.о

    Регистрация:
    4 окт 2007
    Сообщения:
    3.373
    Симпатии:
    2
    может быть изредка и был бы полезен, но так ли необходим? кроме того, может быть заменен обычными языковыми условными конструкциями. на размер кода врядли сильно повлияет - не вирусы ж пишем! и не ядра ОС для мобильных.
    вообще вредное свойство. кроме того, никто не мешает зарядить яву.
    не понял, узок в знаниях...
    а как управлять ОВ в Цпп? О.о
    да, полезная штука, можно заменить побитовыми операциями, если не ошибаюсь, хотя неудобнее
    тоже не понятно зачем?
     
  16. lmike

    lmike нет, пердело совершенство
    Команда форума Lotus team

    Регистрация:
    27 авг 2008
    Сообщения:
    6.073
    Симпатии:
    299
    Akupaka
    у явы нет множественного наследования, в прямом понимании этого термина на плюсах
     
  17. Akupaka

    Akupaka А че я?.. О.о

    Регистрация:
    4 окт 2007
    Сообщения:
    3.373
    Симпатии:
    2
    согласен, это я некорректно написал. там есть интерфейсы и их имплементация.
     
  18. Klido

    Klido Гость

    из той же серии, что не надо путать ОС и платформу (LN) для языков цветочных писем :)
     
  19. TIA

    TIA :-)
    Lotus team

    Регистрация:
    15 май 2009
    Сообщения:
    790
    Симпатии:
    0
    lmike
    Akupaka

    Господа, напомню, сравнивали то, что напрягает в LS после С++. Java - рулезз. Notes - долгих лет жизни. Совсем не хочу переходить в плоскость обсуждения почему Нотес форэва -- эта тема уже оскомину набила. На любом форуме по тыще раз обсуждают. Нотес я люблю нежно.
    Возможностей LS хватает, но многие вещи могли бы решаться и реализовываться проще.

    Вспомим ещё ассемблер и палку-копалку.
    C# - почти C++. Платформа - VS2008. Если бы не сложность C++ ничего принципиально бы не мешало его использовать для MS Office вместо VB

    В Яве ещё лучше -- интерфейсы. Но мы про ЛС. Что предлагает ЛС взамен? Обёртки на каждый чих?

    Зависит от поставленных задач. см. ниже

    Меня больше интересовала не условная компиляция, а макросы. Т.е. конструирование выражений на этапе компиляции. Если без параметров, то ограниченно заменяем %include. Мощнее через DXL, но слишком низкоуровнево. Иногда спасает Execute. Макросы тоже не лучшее решение. Идеально - некий метаязык конструирования выражений на LS на этапах компиляции, сборки и выполнения.

    Нельзя, т.к. перечисления (не путаем enum и union) -- это прежде всего контроль типов.

    Опять же для ограничения области видимости. Почему глобальная область видимости хуже локальной, Вы кажется понимали. :)


    Добавлено:
    Наверно, Вы правы. Вот только с тем что Notes для Скрипта, а не Скрипт для Нотеса -- не соглашусь.
     
  20. lmike

    lmike нет, пердело совершенство
    Команда форума Lotus team

    Регистрация:
    27 авг 2008
    Сообщения:
    6.073
    Симпатии:
    299
    TIA
    ну если вспомнить "начало разговора" - там не было слов "Lotus Script"
    было Lotus - что я интерпретировал как платформу LDN :)
    вот совсем не почти. C# - почти java, и то, что он позволяет нативные врезки (на асемблере) - скорее идиотизм (кот. лишает код тн "управляемости"), чем "правильная" практика. Не нужно смешивать понятия: языки в байткоде (так или иначе интерпретируемые ВМ) и нативный код

    вы считаете процедурные языки отсталыми? ;) - не согласен категорически

    может я название исказил...
    functional programming languages
    имел в виду http://en.wikipedia.org/wiki/Functional_language

    напИшите мастабируемое, распределённое приложение на плюсах... и с архитекторой позволяющей плаги (на др. языках), - поговорим об отсталости ;)
    и поругайте XSLT ;)

    а так - см. сюда:
    http://en.wikipedia.org/wiki/Erlang_%28pro...ing_language%29
    http://en.wikipedia.org/wiki/CouchDB
    http://couchdb.apache.org/
     
Загрузка...
Похожие Темы - Указатель
  1. Vunderkind
    Ответов:
    3
    Просмотров:
    1.804
  2. Vadik(R)
    Ответов:
    0
    Просмотров:
    2.106
  3. vital
    Ответов:
    4
    Просмотров:
    3.194
  4. acorn
    Ответов:
    8
    Просмотров:
    14.781

Поделиться этой страницей