Удаление введенных в ходе сессии определений
Мы уже не раз отмечали возможность уничтожения введенных в ходе сессии определений. Приведем в систематизированной форме функции, используемые для этого:
Применение большинства этих функций полезно разработчику серьезных приложений для систем Mathematica, например новых пакетов расширений и применений системы. В то же врем-я, для большинства пользователей вполне достаточно возможностей, предоставляемых системой по умолчанию — средств диалога с ее оболочкой и функций Input и Print.
Хотя Mathematica ориентирована на математические приложения, в ней достаточно полно представлены функции для работы со строками (strings). Они могут потребоваться как для организации вывода текстовых сообщений (например надписей на графиках), так и для организации текстового диалога при разработке пакетов расширений и приложений системы. К тому же надо постоянно помнить, что Mathematica — система символьной математики, так что символьным преобразованиям, как сугубо математическим, так и общепринятым, в ней, естественно, уделено много внимания.
Многие функции для работы со строками выполняют общепринятые преобразования, имеющиеся в большинстве языков программирования высокого уровня. Строкой является произвольная цепочка символов, заключенная в кавычки, например "String". Ниже представлены некоторые функции для работы со строками:
Эти функции хорошо известны программистам, работающим с современными языками программирования. Большое число дополнительных функций для работы со строками можно найти в приложении. Обилие таких функций в языке программирования системы Mathematica указывает на его универсальный характер и обширные возможности в решении даже на первый взгляд далеких от математики задач. Ниже приведены примеры действия ряда функций работы со строками.
| Ввод (In) | Вывод (Out) |
| StringByteCount [ "Hello ! " ] | 6 |
| StringDrop ["Hello my friend!", 6] | my friend! |
| StringDrop ["Hello my friend! ", -10] | Hello |
| StringDrop ["Hello my friend! ", {7}] | Hello у friend! |
| StringDrop [ "Hello my friend ! " , { 6 , 8 } ] | Hello friend! |
| Stringlnsert ["Hello friend!"," my", 6] | Hello my friend! |
| StringJoin ["Hello"," my "]<>"friend!" | Hello my friend! |
| StringLength [ "Hello" ] | 5 |
| StringPosition[ "Hello my friend! ", "e"] | {{2, 2}, {13, 13}} |
| StringReplace["Hilo" , "i"->"el"] | Hello |
| StringReverse [ "Hello ! " ] | !olleH |
| StringTakef "Hello my friend!", 6] | Hello |
| StringTake[ "Hello my friend!", -8] | friend! |
| StringTake [ "Hello my friend ! " , { 7 , 9 } ] | my |
Отметим еще несколько функций, относящихся к работе с символами и строками:
Примеры, приведенные ниже, показывают работу с этими функциями.
| Ввод (In) | Вывод (Out) |
| ToCharacterCode [ "Hello ! " ] | {72,101,108,108,111,33} |
| FromCharacterCode [ {72 , 101 , 108 , 108 , 111 , 33} ] | Hello! |
| ToExpression [ "2+3*4 " ] | 14 |
| ToLowerCase [ "HeLLo ! " ] | hello! |
| ToUpperCase [ "Hello" ] | HELLO |
| Ввод (In) | Вывод (Out) |
| x:=ToString[2+3*4] | |
| X | 14 |
| Unique [ ] | $1 |
| Unique [xyz] | xyz$2 |
| Unique [xyz] | xyz$3 |
| UpperCaseQ [ "Hello" ] | False |
| UpperCaseQ [ "HELLO" ] | True |