Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Общие вопросы по программированию, компьютерный форум
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 07.12.2009, 00:47   #11
mutabor
Телепат с дипломом
Старожил
 
Аватар для mutabor
 
Регистрация: 10.06.2007
Сообщений: 4,929
По умолчанию

Пространства имен есть? Если нет, то имхо ошибку выдавать, т.к. неоднозначность.

Если делать приоритет, то как по мне, нужно по возрастающей, с локального пространства и выше. Т.е. в первую очередь будет использоваться местная, локальная функция. Внешний файл требует уточнения, тогда будет обращение к нему. Раз ты его характеризуешь как сторонний (в противовес основной программе), то он явно не главный, и логично чтобы он требовал уточнения при совпадении имен, а функция из более главного модуля имела приоритет.
The future is not a tablet with a 9" screen no more than the future was a 9" black & white screen in a box. It’s the paradigm that survives. (Kroc Camen)
Проверь себя! Онлайн тестирование | Мой блог

Последний раз редактировалось mutabor; 07.12.2009 в 00:57.
mutabor вне форума Ответить с цитированием
Старый 07.12.2009, 06:57   #12
Utkin
Старожил
 
Аватар для Utkin
 
Регистрация: 04.02.2009
Сообщений: 17,351
По умолчанию

Цитата:
Сообщение от mutabor Посмотреть сообщение
Пространства имен есть? Если нет, то имхо ошибку выдавать, т.к. неоднозначность.
На уровне подключаемых модулей и основной программы - нет, в смысле есть, но одно, общее.

Цитата:
Если делать приоритет, то как по мне, нужно по возрастающей, с локального пространства и выше. Т.е. в первую очередь будет использоваться местная, локальная функция. Внешний файл требует уточнения, тогда будет обращение к нему.
Здесь немного не классическая ситуация. Внешняя прога подключается динамически, но в тоже пространство имен. То есть будет иметься команда для подключения внешний функций, попользовались и команда для их выгрузки. Что-то вроде своего варианта ДЛЛ.

Цитата:
Раз ты его характеризуешь как сторонний (в противовес основной программе), то он явно не главный, и логично чтобы он требовал уточнения при совпадении имен, а функция из более главного модуля имела приоритет.
Это с одной стороны, а с другой стороны, если я подключаю одноименную функцию, я хочу перегрузить существующую, иначе зачем подключать внешнюю с тем же именем и параметрами?
Ну то есть я не знаю, но мне кажется и так логично и этак.
Маньяк-самоучка
Utkin появился в результате деления на нуль.
Осторожно! Альтернативная логика

Последний раз редактировалось Utkin; 07.12.2009 в 09:34.
Utkin вне форума Ответить с цитированием
Старый 07.12.2009, 11:50   #13
crazy horse
ios developer
Старожил
 
Аватар для crazy horse
 
Регистрация: 16.11.2007
Сообщений: 2,885
По умолчанию

Цитата:
Здесь немного не классическая ситуация. Внешняя прога подключается динамически, но в тоже пространство имен.
Я бы сказал, пространство имен - это ключевой момент. Этим стоило бы заняться в первую очередь
Делайте что хотите, но чтобы через полчаса в лесу было светло, сухо и медведь!
crazy horse вне форума Ответить с цитированием
Старый 07.12.2009, 12:41   #14
Utkin
Старожил
 
Аватар для Utkin
 
Регистрация: 04.02.2009
Сообщений: 17,351
По умолчанию

Возможно, но оно задается программно - так устроен интерпретатор - все функции содержатся в структурах, идентифицируемых файлом из которого они были загружены. Так что ничего еще не поздно исправить, только вот исправить на что?
Маньяк-самоучка
Utkin появился в результате деления на нуль.
Осторожно! Альтернативная логика
Utkin вне форума Ответить с цитированием
Старый 08.12.2009, 00:32   #15
mutabor
Телепат с дипломом
Старожил
 
Аватар для mutabor
 
Регистрация: 10.06.2007
Сообщений: 4,929
По умолчанию

Ты их поштучно хочешь подгружать или всю библиотеку сразу?
Просто может быть такой вариант, что разные программисты напишут разные функции, в том числе перегружающие твою (встроенную). Например другой программист хочет заюзать нек-рые функции из такой библиотеки, но не хочет перегружать встроенные функции к-рые он использовал в своем коде, а хочет всего лишь пару дополнительных.

Если интерпретатор будет различать функции на внутренние и внешние, то у них уже не одно пространство, а фактически два - внутренее и внешнего модуля. А как быть если подключено несколько модулей, и в них всех есть функция перегружающая встроенную? Какая тогда по умолчанию будет использоваться?
The future is not a tablet with a 9" screen no more than the future was a 9" black & white screen in a box. It’s the paradigm that survives. (Kroc Camen)
Проверь себя! Онлайн тестирование | Мой блог
mutabor вне форума Ответить с цитированием
Старый 08.12.2009, 06:54   #16
Utkin
Старожил
 
Аватар для Utkin
 
Регистрация: 04.02.2009
Сообщений: 17,351
По умолчанию

Цитата:
Сообщение от mutabor Посмотреть сообщение
Ты их поштучно хочешь подгружать или всю библиотеку сразу?
Сразу все функции из указанного файла.

Цитата:
Просто может быть такой вариант, что разные программисты напишут разные функции, в том числе перегружающие твою (встроенную). Например другой программист хочет заюзать нек-рые функции из такой библиотеки, но не хочет перегружать встроенные функции к-рые он использовал в своем коде, а хочет всего лишь пару дополнительных.
Че делать?

Цитата:
Если интерпретатор будет различать функции на внутренние и внешние, то у них уже не одно пространство, а фактически два - внутренее и внешнего модуля.
Внутри он различает все, а как сделать лучше для программиста?

Цитата:
А как быть если подключено несколько модулей, и в них всех есть функция перегружающая встроенную? Какая тогда по умолчанию будет использоваться?
Об этом я еще не подумал . Итак перегрузка по умолчанию отменяется.
Маньяк-самоучка
Utkin появился в результате деления на нуль.
Осторожно! Альтернативная логика
Utkin вне форума Ответить с цитированием
Старый 08.12.2009, 07:13   #17
crazy horse
ios developer
Старожил
 
Аватар для crazy horse
 
Регистрация: 16.11.2007
Сообщений: 2,885
По умолчанию

Цитата:
Внутри он различает все, а как сделать лучше для программиста?
так же, как реализованы все языки. Пакет->функция.
Делайте что хотите, но чтобы через полчаса в лесу было светло, сухо и медведь!
crazy horse вне форума Ответить с цитированием
Старый 08.12.2009, 07:52   #18
Utkin
Старожил
 
Аватар для Utkin
 
Регистрация: 04.02.2009
Сообщений: 17,351
По умолчанию

То есть если указана просто функция, то она из основной программы, а для загруженных лучше явно указать откуда? ОК.
Маньяк-самоучка
Utkin появился в результате деления на нуль.
Осторожно! Альтернативная логика
Utkin вне форума Ответить с цитированием
Старый 08.12.2009, 07:53   #19
crazy horse
ios developer
Старожил
 
Аватар для crazy horse
 
Регистрация: 16.11.2007
Сообщений: 2,885
По умолчанию

Да, однозначно
Цитата:
Четко и всегда указывал Модуль.Функция для импортируемых - это сверхнадежно.
Цитата:
То есть если указана просто функция, то она из основной программы, а для загруженных лучше явно указать откуда? ОК.
Я один не углядел разницы?
Зы
Цитата:
Я принадлежу к поколению, рисовавшему поля в тетрадках вручную...
А мы еще и клетки руками полосовали
Делайте что хотите, но чтобы через полчаса в лесу было светло, сухо и медведь!

Последний раз редактировалось crazy horse; 08.12.2009 в 09:23.
crazy horse вне форума Ответить с цитированием
Старый 08.12.2009, 08:00   #20
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
а для загруженных лучше явно указать откуда? ОК.
Знаешь я бы даже сделал как в Обероне.
Четко и всегда указывал Модуль.Функция для импортируемых - это сверхнадежно.
Мне по крайней мере такая политика понравилась.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Приоритет процесса P@SH@ Win Api 9 13.05.2014 21:48
Приоритет макроса ru3000 Microsoft Office Excel 4 02.09.2009 04:45
использование функций в качестве параметров других функций mono Помощь студентам 0 20.04.2009 18:25
Приоритет Михаил Юрьевич Win Api 5 15.07.2008 23:23
Приоритет чужого процесса (консультация) Air Win Api 9 06.03.2008 20:05