Maple: Управляющие клавиши ИМС; замечания и предложения по его использованию и развитию, страница 9

> with(GF);ÞError, (in with) undefined package, GF

> readlib(GF):  GF(3,10);ÞТаблица функций и констант

            25. Ввод в Input-параграф русских букв в стандартном формате не допускается, тогда как конвертация Input-параграфа с русскими буквами входного Maple-формата в стандартный формат обеспечивается корректно при условии отсутствия строчных букв 'я' и удвоения строчных букв 'ю', как это иллюстрирует следующий простой фрагмент:

> `Гипотеза`:=sqrt(`Катет_1`^2+`Катет_2`^2);Þ

> `Катет_1`:=57:  `Катет_2`:=52:  `Гипотеза`;Þ 

>   Þ 

> `юла` = 52, `ююла` = 57, `рЯд` = 10;  Þ  ла = 52,  юла = 57,   рЯд = 10

> `ряд` = 3;ÞWarning, premature end of input

            26. Следует отметить, что в определении функции в терминах функционального (->)-оператора может использоваться и определение процедуры. В данном случае фун-кция возвращает процедурный объект, как это иллюстрирует следующий фрагмент:

> H:= (x,y,z) -> (proc(x,y,z) sqrt(x^2+y^2+z^2) end);  Þ

> eval(H(x,y,z));  Þ 

> whattype(%), eval(H(p,h,n))(57,52,32);  Þ 

            27. В общем случае, использование (.)-оператора для конкатенации символьных (но не строчных) значений предполагает кодирование выражений в следующем виде:

``.<Операнд_1>.<Операнд_2>. .<Операнд_n>

если хоть один из операндов имеет {symbol,name}-тип. В противном случае возможно получение некорректного результата, как это иллюстрирует следующий фрагмент:

> H:= `Russian Academy of Natural Sciences`:   M:="Tallinn Research Group":

> H.M, M.H;Þ  HTallinn Research Group, MRussian Academy of Natural Sciences

> ``.M.M;Þ  Tallinn Research GroupTallinn Research Group

            28. Следует иметь в виду, что по convert-функции формально можно конверти-ровать в структуру {list|set}-типа и строчные либо символьные структуры,содержащие символы запятой. Результаты конвертации формально распознаются тестирующими функция {whattype, type,typematch} корректно, однако, по сути дела, эти структуры ос-таются строчными либо символьными. Все это говорит о необходимости существенной доработки данного аспекта соответствия допустимых пакетом типов структур и данных во избежание возможных ошибок. Простой фрагмент иллюстрирует сказанное:

> K:= `A,V,A,G,V,S`:  A:= "A,V,A,G,V,S":   map(whattype,[K,A]);  Þ  [symbol, string]

> L:= convert(K,list):  S:= convert(K,set):  L1:= convert(A,list):  S1:= convert(A,set): \

whattype(L), whattype(S), whattype(L1), whattype(S1);  Þ  list, set, list, set

> L[2]; S[3]; L1[3]; S1[4];  Þ  Error, invalid subscript selector

> [op(L),nops(L)], [op(S),nops(S)], [op(L1),nops(L1)], [op(S1),nops(S1)];  Þ

[A,V,A,G,V,S, 1], [A,V,A,G,V,S, 1], ["A,V,A,G,V,S", 1], ["A,V,A,G,V,S", 1]

> whattype(op(L)), whattype(op(S)), whattype(op(L1)), whattype(op(S1));  Þ  symbol, \

symbol, string, string

> L2:= [op(K)]:  L3:= [op(A)]:  [whattype(L2), whattype(op(K)), whattype(L3), \

whattype(op(A))];  Þ  [list, symbol, list, string]

            29. Для распознаваемых пакетом графических драйверов кодировать их в функ-ции plotsetup следует непосредственно по именам, не используя plotdevice-опции. В противном случае идентифицируется ошибочная ситуация следующего вида:

> lasterror;Þ9117, plotsetup, 1, _device::{symbol,string}, plotdevice = <Имя драйвера>

Существенное улучшение графического OpenGL-драйвера для платформ Windows 95, Windows 98/NT и PPC Macintosh обеспечило высокие реактивность и качество при ра-боте с графическими 3D-объектами, что в предыдущем релизе было недостаточным.

            30. Если в plotsetup-функции определены одновременно window-драйвер и пе-ременная plotoutput,то вывод Г0 производится в отдельное окно Windows-приложения с одновременным созданием пустого файла согласно его спецификатора из перемен-ной plotoutput. Поэтому кодировать в этом случае последнюю не рекомендуется во из-бежание удаления содержимого уже существующих файлов. Сказанное справедливо и для случая inline-драйвера.