PureBasic - форум

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.


Вы здесь » PureBasic - форум » PureBasic для Windows » Улучшение справки


Улучшение справки

Сообщений 91 страница 108 из 108

91

useful, во первых, я не писал про список позиций, а процитировал. А во вторых вы тоже не совсем правы. Если написать "Сохраняет в стек" то можно перепутать со стеком потока, где сохраняются локальные переменные, адреса возврата из функций и др. Наверное правильнее "Внутренний список, используемый в качестве стека, связанный с текущим списком".

0

92

Всё началось с того, что The position is remembered on a stack structure, so multiple calls to this function are possible. в сочетании с частью push в имени функции
однозначно говорит о том, что происходит и то что этот стек привязан именно к тому списку указатель на элемент которого мы берём в работу также абсолютно очевидно.

Просто для чтения этого текста понятия push/pop stack должны быть базовыми на уровне 2*2 = 4

Для особого случая можно сделать сноску со ссылкой на википедию.

Теперь точно всё!

0

93

useful написал(а):

Любому человеку, кто имеет представление о стеке на уровне школьной информатики

У нас на школьной информатике не было понятие стека. Кроме того я бы школьную информатику вообще бы не приплетал бы к процессу изучения программирования. С таким же успехом палочки в детском саду можно приплетать к программированию. Из школького курса я лишь помню A + B и что-то там ещё, то есть какому то учителю навязали вести новый предмет и он попытался что-то рассказать. Я сам зная проблему в школе как то предлагал вести кружок по программированию, но директор у них там баланс уже расписан, и самоучки не нужны, нужны педагоги с направлением программирования, так что мой позыв не оправдался. Также я пытался привить программирования племяннику и на работе молодёжи, но всем пофиг, ну ладно завтра спрошу у нашей молодёжи недавно закончивших школы что они знают о стеке.

Вам что ради своей упёртости по стеку добавление одного предложение исправляющего проблему мешает вашему доказательству к которому вы прицепились изначально? Ваше мнение будет разрушено и это важнее справки? Любой термин знакомый к примеру программистам Си должен тут же расшифровываться. Одним он даёт представление, другим нет, а описание должно всем давать представление о работе функции. Как вам ещё говорить, справка не предназначена лично для вас, она предназначена для описания функции.

0

94

useful написал(а):

Всё началось с того, что The position is remembered on a stack structure, so multiple calls to this function are possible. в сочетании с частью push в имени функции
однозначно говорит о том, что происходит и то что этот стек привязан именно к тому списку указатель на элемент которого мы берём в работу также абсолютно очевидно.

Даже перечитывая этот текст вместе с англ текстом я не вижу что это очевидно. Это очевидно когда ты уже знаешь работу функции. НО ЭТО ДОЛЖНО БЫТЬ ОЧЕВИДНО ДО ТОГО КАК ТЫ ЗНАЕШЬ РАБОТУ ФУНКЦИИ.

То есть текст не противоречит твоему пониманию при знании работы функции. Но задача справки объяснить работу, когда пользователь ещё не понимает работу функции. НЕ ПРОТИВОРЕЧИТ  не то же что НЕ РАСКРЫВАЕТ.

Отредактировано AZJIO (21.12.2024 19:46:50)

0

95

Ещё последнее последнее. :cool: 
Стек это не про языки программирования. Вот замечательная статья

https://habr.com/ru/articles/422259/

Это однозначно пригодится.

0

96

useful написал(а):

The position is remembered on a stack structure, so multiple calls to this function are possible.

Дословно переводится как

Позиция запоминается в структуре стека, поэтому возможны множественные вызовы этой функции.

Не уточняется что такое "stack structure", а без этого возможны вариации и попытки догадаться.
Переставьте что вы в первый раз видите PB или не очень хорошо его знаете. Что для вас будет означать фраза "stack structure"? Структура стеков? :D А где она? :dontknow:
Программист не знакомый с PB подумает что речь про стек потока, а он накладывает ряд ограничений.

useful написал(а):

однозначно говорит о том, что происходит и то что этот стек привязан именно к тому списку указатель на элемент которого мы берём в работу также абсолютно очевидно.

Где в справке об этом написано?
https://www.purebasic.com/documentation … ition.html
https://www.purebasic.com/documentation … ition.html

0

97

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

0

98

Пётр написал(а):

Переставьте что вы в первый раз видите PB или не очень хорошо его знаете.

Я уже писал. Имя функции и эта простая строка описания для меня однозначна и абсолютно не связана с PB.
Точно такую же строку о любом языке программирования я пойму эквивалентно текущему моему пониманию.

При этом я не вижу проблем в том, что бы писать учебник с лирическими отступлениями о структурах данных по каждому чиху. Но это уже другая история.

0

99

useful написал(а):

Имя функции и эта простая строка описания для меня однозначна и абсолютно не связана с PB.

Я уже писал что Push и Pop в первую очередь будут ассоциироваться со стеком потока, потому что иное не уточнено в справке и то что вы написали

useful написал(а):

однозначно говорит о том, что происходит и то что этот стек привязан именно к тому списку указатель на элемент которого мы берём в работу также абсолютно очевидно.

в справке этого нет. И это вообще не очевидно.
Когда появились эти функции я подумал что речь про стек потока, но после экспериментально выяснил что это не так.
В справку не помешало бы добавить уточнение про какой стек идет речь.

0

100

Пётр написал(а):

Когда появились эти функции я подумал что речь про стек потока, но после экспериментально выяснил что это не так.

А мне это даже в страшном сне не могло присниться. Причём как это реализовано мне не интересно. Для меня это чёрный ящик по сути с двумя методами push и pop и если я должен указывать при вызове имя списка, значит реализация к нему и привяжет.

Я не знаю, но возможно я смотрю на это не как использовать, а как бы я реализовал подобное.
Ибо нечто подобное первый раз где то 33 года назад делал :glasses:
на ассемблере для вызова из PL/1
И ещё кажется через несколько лет на связке C и VBA.

Кстати сегодня перестал существовать СССР. помянем.

Всё у меня наступило завтра.

Отредактировано useful (21.12.2024 20:37:42)

0

101

useful написал(а):

Причём как это реализовано мне не интересно.

А вот зря! Если использован стек потока, выполнение PushListPosition() из одной процедуры, а PopListPosition() из другой приведет к "интересным" результатам. :D Тоже можно сказать про вызовы этих функций из разных потоков.
Об особенности Select:Case + Goto не знаете?

Код:
CompilerIf #PB_Compiler_Backend <> #PB_Backend_Asm
  CompilerError "Выбери asm backend"
CompilerEndIf

Procedure Test(x)
  Select x
    Case x
      Goto Exit
  EndSelect
  Exit:
EndProcedure
Test(1234)

А вот так работает.

Код:
CompilerIf #PB_Compiler_Backend <> #PB_Backend_Asm
  CompilerError "Выбери asm backend"
CompilerEndIf

Procedure Test(x)
  Select x
    Case x
      FakeReturn
      Goto Exit
  EndSelect
  Exit:
EndProcedure
Test(1234)

Поэтому нужно знать где находится грабли и как их обойти. :)

+1

102

useful
Вам сказали что все знают что такое стек, но вы всё равно кидаете ссылки. Вы в своём мире. Кстати ссылки из разряда "для чайников" или "для тех кто в танке". Обычно я такие не читаю, так как они для других написаны.

0

103

Спросил у нашей молодежи, никто не знает что такое стек, даже нет намеков откуда это из какого предмета. Стейк думаю знают.

0

104

Пётр написал(а):

FakeReturn

Спасибо за тип.

0

105

AZJIO написал(а):

Спросил у нашей молодежи, никто не знает что такое стек

Военные знают. Это магазин с патронами, на жаргоне по-ненашему. А ещё такая пижонская трость с клинком внутри, некогда популярная у военных :)

0

106

SplitterGadget()

#PB_Splitter_FirstFixed  : When the splitter gadget is resized, the first gadget will keep its size
#PB_Splitter_SecondFixed : When the splitter gadget is resized, the second gadget will keep its size

#PB_Splitter_FirstFixed  : Когда разделитель сплиттера будет сдвинут, первый Гаджет сохранит свой размер.
#PB_Splitter_SecondFixed : Когда разделитель сплиттера будет сдвинут, второй Гаджет сохранит свой размер.

по переводу выглядит как то, что неизменяя размер гаджета появится какой то пустое поле поверхности окна. Учитывая слово resized и явное понимание отношение резайза к гаджету splitter по смыслу более очевидно что при изменении размера окна, при котором происходит ресайз сплитера то изначально процентное изменение разделителя, то есть было 1/2 и 2/3, так и останется 1/2 и 2/3, но если поставить флаги, то поведение будет один из гаджетов остаётся того же размера, а второй увеличивается на размер увеличения окна. В общем перевод совсем неправильный.

а вот предложение перевода

#PB_Splitter_FirstFixed  : При изменении размера SplitterGadget(), первый встроенный гаджет сохранит изначальный размер.
#PB_Splitter_SecondFixed : При изменении размера SplitterGadget(), второй встроенный гаджет сохранит изначальный размер.

второй вариант

#PB_Splitter_FirstFixed  : При изменении размера гаджета, #Gadget1 сохранит изначальный размер.
#PB_Splitter_SecondFixed : При изменении размера гаджета, #Gadget2 сохранит изначальный размер.

третий вариант со сленгом

#PB_Splitter_FirstFixed  : При ресайзе, #Gadget1 сохранит изначальный размер, сплитер не перемещается.
#PB_Splitter_SecondFixed : При ресайзе, #Gadget2 сохранит изначальный размер.

Отредактировано AZJIO (18.01.2025 16:37:48)

0

107

Справка скачать

Обновление 18 февраля 2025
Добавлен раздел "Примеры" в дерево, десяток примеров подверглись качественной подсветке.
Добавлен раздел Skeleton появившийся в v6.10, переведена строка описания
Улучшение в PopListPosition, PushListPosition (тема на оф.форуме), SplitterGadget

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

В PB_User были добавлены cp1251_to_cp866, cp866_to_cp1251

Отредактировано AZJIO (Вчера 19:18:12)

0

108

Справка, скачать: upload.ee yandex.ru

Обновление 19 февраля 2025
В раздел "Примеры" добавлены кнопки "Копировать"
Добавлен IsPack(), WebWiewProxy()
Улучшение в RandomSeed() (тема на оф.форуме)
В UTF8() и Ascii() добавлено MemorySize() и наоборот в MemorySize() добавлено UTF8() и Ascii() (тема на оф.форуме).
Добавлен список обновлений для 6.20 в историю

Отредактировано AZJIO (Сегодня 10:25:49)

0


Вы здесь » PureBasic - форум » PureBasic для Windows » Улучшение справки