|
19 / 187 / 0
Регистрация: 17.06.2013
Сообщений: 2,163
|
|
Как из подпрограмного модуля использовать объявленый в нём тип01.08.2022, 17:48. Показов 722. Ответов 14
Метки нет (Все метки)
Тема: Как из подпрограмного модуля использовать объявленый в нём тип в основном модуле так как он бы использовался как результат функции?
Как объявить новый тип в прилагающемся модуле и далее этот же тип (если возможно без затруднений) использовать в основном модуле программы? Так как новый тип нужен из за того что он должен быть всегда массивом и массив этого вида должен переносится как результат функции импортированного модуля в модуль основной. Новый тип нужен типа массив символов. Сам бы обходился вместо новых типов переменной типа строка, но в этом языке ещё выяснять на что она могла бы сгодится ибо работает не так. * * * Взялся за новый язык (Питон) потому что нужен был Досовский компилятор попроще (Dos эмулирвется). А на языке который я изучал (Паскаль) известные мне компиляторы кроме Delphi - нормально не работали с файлами. TMT Pascal 3 - грузил файлы только где то до десятков килобайт а Turbo pascal 7 - грузил файлы и того меньше. Питон D грузит спокойно до нескольких сотен килобайт нетипизированного (бинарного) и дальше я не проверял. Delphi 6 грузил до 6 мегобайт или ещё больше можно было. Turbo pascal 7 при обработке файлов в другом режиме - одекватно на эту картину не смотрел всё равно. Копирует он файлы любого размера но когда нужно длинный файл обработать на результате в файл другого размера он всё равно даст понять что в этом случае размер будет несколько десятков килобайт. Delphi же просто тормозит и далее зависает прогрессивно на длинных процессах в отличае от Dos программ.
0
|
|
| 01.08.2022, 17:48 | |
|
Ответы с готовыми решениями:
14
Как убрать весь блок если в нем нет модуля Модули ARCADIA (все), Как различить партномер модуля по маске на нём?
|
|
19 / 187 / 0
Регистрация: 17.06.2013
Сообщений: 2,163
|
|
| 01.08.2022, 17:56 [ТС] | |
|
Да по смыслу в качестве нового класса нужно всегда то же самое что массив из символов размера такого же как обычно строка. Мне вот никогда новые классы были не нужны но это из за того что строка работает в изучаемом мной ранее языке не так.
И интересно если в прилагаемом модуле новый класс создан то он без проблем будет понятен программе к которой подключён модуль или нет. И когда нет может надо что то на счёт этого дописывать. Потому что в языке Паскале новый класс из подключаемого модуля основной программе понятен сразу.
0
|
|
|
19 / 187 / 0
Регистрация: 17.06.2013
Сообщений: 2,163
|
||||||
| 01.08.2022, 19:00 [ТС] | ||||||
|
По идее надо присоединить переведённый с другого языка модуль для работы с исскуственным строковыми переменными вместо которых массивы состоящие из символьных переменных типа char. В языке который я изучал ранее если выдавать массив в виде результата функции который не объявлен предварительно как новый тип то тогда с этим результатом нельзя далее работать. В этом языке строковый тип не позволяет изменять свою структуру через изменение её по отдельным нумерованным байтам. Поэтому и хотелось использовать массивы вместо таких строк из своего модуля.
Добавлено через 2 минуты Вот я пишу вот так:
0
|
||||||
|
Автоматизируй это!
|
|||
| 01.08.2022, 19:05 | |||
|
Почитай доку или книгу по основам питона - это самое начало
0
|
|||
|
19 / 187 / 0
Регистрация: 17.06.2013
Сообщений: 2,163
|
||||||
| 01.08.2022, 19:06 [ТС] | ||||||
|
А вот так работает:
Вот так для объявления класса в подключаемом модуле сойдёт? И оно будет понятно другому модулю?
0
|
||||||
|
Автоматизируй это!
|
|
| 01.08.2022, 19:08 | |
|
это непонятно ни мне ни тебе, как это будет понятно интерпретатору? что ты создал, что сделал? почему не стал читать как работать с классами в питоне?
по твоему коду я не понял что ты пытаешься сделать и зачем тут класс. Может задачу опишешь?
0
|
|
|
19 / 187 / 0
Регистрация: 17.06.2013
Сообщений: 2,163
|
|
| 01.08.2022, 19:21 [ТС] | |
|
Да я же говорю что в языке Паскале который я учил (поверхностно и тем самым идеально совместимо) если в результате функции создаётся массив то его за результат не примут а надо в этом случае сначало объявлять в этом же подключаемом модуле его самый как новый класс. И только после объявления нового класса массив этого класса можно назначать как результат функции. Если в подключаемом далее куда-то модуле объявлен какой-то новый класс то тогда при подключении модуля этот класс программой автоматически принимается и можно в своей программе (основном модуле) без каких либо возможных объявлений импорта этого класса (что сдесь вопрос) создавать переменные нового класса уже без его описания.
С Питоном мне пока не известно подобное. Добавлено через 1 минуту И вообще я Питон только изучаю и про его листы не изучал. Планирую я его как и другой язык изучать поверхностно. Добавлено через 3 минуты Чтобы принять результат функции в основном модуле языка Паскаль надо создать переменную объявленного ранее нового класса и загрузить в неё результат функции.
0
|
|
|
Автоматизируй это!
|
|
| 01.08.2022, 19:30 | |
|
Ixmil, ты не про паскаль пиши, а какую задачу решаешь, тогда я смогу тебе что-то предложить.
Да в питоне если ты импортировал класс или функцию то можешь использовать. На твоем примере я не понял что это за класс и зачем ты туда сунул лист со строками. Потому и прошу описать задачу -что ты хочешь сделать. Что на входе и что на выходе?
0
|
|
|
19 / 187 / 0
Регистрация: 17.06.2013
Сообщений: 2,163
|
|
| 01.08.2022, 21:46 [ТС] | |
|
Да задачи далеко. Поэтому изучаю только общие правила.
Добавлено через 35 минут Хоть на другом языке была задача. Но опыт давно есть. Хотя это уже и не опыт. Вычисление синуса в радианах Добавлено через 2 минуты А вот вам ещё опыта. Там вобще красавцы вы глянте только: **** Добавлено через 10 секунд **** Добавлено через 51 секунду **** Добавлено через 54 секунды **** Добавлено через 1 минуту **** Добавлено через 11 минут Вот ещё решали вместе: Как быстро запиксиловывать форму Добавлено через 3 минуты Вот ещё профессионалы решали: Действительны ли данные wave формата без драйвера Добавлено через 1 минуту А вот сдесь? На лету схватывали: Можно ли перевести длинное 6 Мб 256-иное число в 10-ую систему Добавлено через 56 минут Ладно. Задачу темы я уже решил. Хотя и не ясно есть ли разница для Питона между составляющими его массив типами переменных кроме числовых и строковых. До этого это было не разборчиво. Получилось не разборчиво и после.
0
|
|
|
Автоматизируй это!
|
|
| 02.08.2022, 08:47 | |
|
Ixmil, так если не ясно почему полчаса не уделить чтению книжки по питону или в доку не сходить? там все написано. Общее правило такое - прочесть, разобраться, потом писать код.
0
|
|
|
19 / 187 / 0
Регистрация: 17.06.2013
Сообщений: 2,163
|
|
| 02.08.2022, 14:34 [ТС] | |
|
Если учиться получая образование - то может и такое. Но в теме питон для начинающих этого правила не указано. А надо бы писать сразу за разделом форума. Хотя кто вообще пишет правила?
Названое правило времён Советского союза до сих пор непонять почему актуально. Это там авторов тестировали и сажали когда надо. Сейчас же пишут правду о ремесле также часто как обманывают. Хотя чьи это проблемы в нагрузку? А я и говорю что начинать Питон по разделу форума что именно с книжки не указанно. Но и книжка настоящая инфе рознь.
0
|
|
|
|
||
| 02.08.2022, 14:35 | ||
|
Срочно читать введение в питон. Любое. И используйте запятые. Языки программирования - это хорошо, но русским тоже неплохо бы владеть.
0
|
||
|
19 / 187 / 0
Регистрация: 17.06.2013
Сообщений: 2,163
|
|||
| 02.08.2022, 14:42 [ТС] | |||
Добавлено через 4 минуты
0
|
|||
| 02.08.2022, 14:42 | |
|
Помогаю со студенческими работами здесь
15
Как использовать макросы из модуля Integer (Elixir) Класс «Растение» Поля: тип (дерево, куст и т.д.), высота и т.д.Для поля «тип» использовать тип данных enum Имеется winForm, как в нем использовать WPF? Как использовать методы класса из импортируемого своего модуля? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
| Опции темы | |
|
|
Новые блоги и статьи
|
|||
|
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога
Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
|
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога
Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
|
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога
Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
|
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
|
|
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога
В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
|
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
|
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога
Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
|
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
|