Магія (програмування): відмінності між версіями
[неперевірена версія] | [неперевірена версія] |
Вилучено вміст Додано вміст
м -Шаблон:нп для Чорний ящик |
Скасування редагування № 20578779 користувача Olexa Riznyk (обговорення) помилково |
||
Рядок 49:
| quote = It is not safe to copy these objects within the program; sometimes their addresses may be 'magic'.
}}</ref>без магії. Тобто, середовище виконання може помістити вихідний файл в {{не перекладено|жорстко закодованому|||hard-coded}} діапазоні адрес, і не забезпечує поведінку дескриптора файлу в створеній копії користувача. Отже, стандартні бібліотечні підпрограми приймають покажчики на файл, типу <tt>FILE *</tt>.
* У Perl 5, оператор <tt>while(<</tt><var>file_handle</var><tt>>)</tt> неявно привласнює зчитаний рядок з файлу, <tt><</tt><var>file_handle</var><tt>></tt> змінній <tt>$_</tt>, і застосовує <tt>defined()</tt> функцію до виразу, так що будь-який успішно прочитаний рядок, навіть <tt>"0"</tt> або [[порожній рядок]], обчислюється як
* У [[емулятор]]і, особливо в розвитку, [[системний виклик]] в емульованої машини може бути магією; коли їх визивають, емулятор може працювати на [[машинний код| машинному коді]] для зручності, швидкості або доступу до фізичного обладнання, а також налаштувати емульований процесор і пам'ять, як якщо б він був виконаний за допомогою вихідного коду.
** Наприклад, <tt>CALL</tt> твердження на язиці {{не перекладено|BBC BASIC|||BBC BASIC}} В магічно оброблює адреса системних викликів в операційній системі {{не перекладено|Acorn MOS|||Acorn MOS}}; замість того, щоб намагатися перейти до ARM коду на ці адреси, воно викликає [[Переривання | програмне переривання]] в системі [[RISC OS]] еквівалентне системному виклику.<ref name="bbcbasic">{{cite book
|