Главная » Статьи для тега "функции"

ФУНКЦИИ ДЛЯ АДМИНИСТРАТОРА

Добавлено Дата: 17 June, 2012 категория: 1С Предприятие

Возможно,   вам придется каким-либо образом  управлять работой  пользователей системы. Для  этого  могут пригодиться встроенные  функции  среды  исполнения. Они приведены в табл.  1.6.

Функции  среды исполнения

Таблица 1.6

Читать »

Простые структуры

Добавлено Дата: 15 June, 2012 категория: Haskell

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

Читать »

СТАНДАРТНЫЕ ЧИСЛОВЫЕ ФУНКЦИИ

Добавлено Дата: 15 June, 2012 категория: Basic

Во многих вычислениях используются  действия, которые не могут быть простым способом сведены к арифметическим операциям +, -, *, /, ↑. Частным примером может служить извлечение квадратного корня из числа.  В языке Бейсик предусмотрены специальные  функции для выполнения некоторых таких действий. Например, оператор

Читать »

Модуль IO

Добавлено Дата: 14 June, 2012 категория: Haskell

является экспериментальным, созданным для разгрузки стандартного модуля Prelude  от многочисленных определений.  Разумеется, что в этот модуль собраны определения всех программных сущностей, связанных с системой ввода/вывода  языка Haskell. Сюда перенесены все стандартные функции и типы, а также определены новые, которых нет в стандартном модуле Prelude. С другой стороны, все функции из стандартного модуля Prelude,  которые имеют отношение к вводу/выводу, также определены в этом модуле, поэтому ниже рассматриваться не будут.

Читать »

Именованные поля

Добавлено Дата: 14 June, 2012 категория: Haskell

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

Читать »

Анонимные функции

Добавлено Дата: 13 June, 2012 категория: Haskell

В языке Haskell имеется возможность  использовать в определениях функций вызовы так называемых анонимных функций, то есть таких функций, которые определены исключительно  в одном месте, а именно  — месте своего вызова.  Эта возможность может быть использована, к примеру, для быстрого прототипирования или для вызова простой функции, определение которой на верхнем уровне бессмысленно.

Читать »

Модуль Printf

Добавлено Дата: 12 June, 2012 категория: Haskell

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

import Text.Printf

В модуле имеются две функции и четыре специализированных класса, которые позволяют представлять типы для использования  с функциями. Первыми имеет смысл рассмотреть именно функции, поскольку классы являются вспомогательными для них.

Читать »

Модуль Error необходимый для проверки возвращаемых при маршализации значений и генерации исключений типа userError в случаях наличия ошибок в значениях

Добавлено Дата: 12 June, 2012 категория: Haskell

содержит функции, необходимые для проверки возвращаемых при маршализации значений и генерации исключений типа userError в случаях наличия ошибок в значениях.  Предполагается, что этот модуль подключается в проект при помощи реимпорта из модуля Marshal, однако если имеется необходимость использования этого модуля отдельно, его можно подключить следующим образом:
Читать »

Модуль Marshal

Добавлено Дата: 10 June, 2012 категория: Haskell

Модуль, который включает в себя при помощи реимпорта функциональность пяти нижеследующих модулей, описывающих специфические функции для работы в рамках подхода FFI с объектами, над которыми можно производить маршализацию. Использование:

import Foreign.Marshal

Читать »

Модуль Tree

Добавлено Дата: 9 June, 2012 категория: Haskell

содержит описание произвольных деревьев  (розовых кустов) для произвольных нужд.  В  модуле предлагается  наиболее  общий интерфейс для работы с деревьями. Использование:

import  Data.Tree

Главный тип данных в этом модуле: Tree.

Тип: Tree

Читать »

Каррирование и частичное применение

Добавлено Дата: 9 June, 2012 категория: Haskell

Общий  вид  типа  функции  в  виде  (Arg1Type ->  (… ->  (ArgNType -> ResType)…))  наводит  на   мысль  о   том,   что   каждая   функция   может рассматриваться  в   качестве   функции   одного  аргумента,  при   этом   результатом  исполнения такой   функции  будет  тоже   функция.  Действительно,  если  мысленно   обозначить в  представленном выражении  типа  часть (… ->  (ArgNType ->  ResType)…) как ResType*, то типом исходной  функции будет выражение (Arg1Type ->  ResType*), а это в силу определения типа функции есть тип функции одного аргумента.

Читать »

Рекурсия и корекурсия

Добавлено Дата: 7 June, 2012 категория: Haskell

В языке Haskell нет таких операторов, как for, while или goto. Это связано с тем, что эти операторы явно императивны, то есть они  определяют пошаговый порядок исполнения некоторых инструкций.  Как  уже  было неоднократно упомянуто, язык Haskell, как чистый функциональный язык, не имеет (и не должен иметь) подобных средств. Для организации цикла здесь используется другой механизм — рекурсия.  А такая конструкция, как безусловный переход, просто невыразима в терминах функционального программирования.

Читать »

Модуль Char8

Добавлено Дата: 6 June, 2012 категория: Haskell

В модуле Char8 определены все те же  самые программные  сущности, что и в модуле ByteString. Все типы данных, все функции имеют абсолютно те же самые наименования, их  количество  такое же  (за исключением двух дополнительных функций, которые описываются ниже). Этот модуль полностью дублирует модуль ByteString, однако его предназначение несколько иное. В то время как в модуле ByteString для представления символов строки используется тип Word8, в рассматриваемом модуле  Char8 для тех же  целей используется  одноимённый тип Char8.

Читать »

Детальный разбор нескольких примеров определения функций

Добавлено Дата: 6 June, 2012 категория: Haskell

Каждое определение функции (не сигнатура) состоит из набора так называемых клозов, то есть отдельных вариантов определения функции, которые зависят от вида входных параметров, которые называются образцами и разделены

пробелами. Более детально образцы и клозы описываются чуть ниже (см. раздел 1.2.). Здесь же детально описывается несколько примеров определения различных функций, которые взяты всё из того же стандартного модуля Prelude.

Читать »

Синтаксис и идиомы языка

Добавлено Дата: 4 June, 2012 категория: Haskell

Функции

Функции являются базовым программным  элементом в языке Haskell, при помощи которого строятся программы. Сложно (но можно) построить программу на этом языке, в которой не было бы определений функций. При помощи функций определяются  вычислительные  процессы, которые  являются сутью создаваемой программы. Поэтому изучение способов определения функций является важнейшим делом в постижении языка Haskell.

Читать »