Найти в Себе | = _ 0 0 | Равно |
=y находит члены
множества элементов y
(тоесть ~.y)
в массиве y , производя булевскую таблицу
размерности #~.y на #y . Например:y=: 3 3 $ 'abcdef' y ; (~.y) ; (=y) +---+---+-----+ |abc|abc|1 0 1| |def|def|0 1 0| |abc| | | +---+---+-----+ |
x=y дает 1 при x равном y ,
иначе 0 . Если один из аргументов (x или y) является конечным действительным (или комплексным) числом, сравнение производится с погрешностью t, равной по умолчанию 2 в степени _44 и настраиваемой союзом !. (как в x=!.0 y). Формально, x=y дает 1, если модуль x-y не превышает величины t, помноженной на больший из модулей x и y . Сравнение с погрешностью используется и другими глаголами. В частности, Совпадает (-:), Пол (<.), и Выделить Знак (*), но не глаголом Упорядочить (/:). |
]a=: ;: 'Try and try and try again.' +---+---+---+---+---+------+ |Try|and|try|and|try|again.| +---+---+---+---+---+------+ ~. a +---+---+---+------+ |Try|and|try|again.| +---+---+---+------+ =a 1 0 0 0 0 0 0 1 0 1 0 0 0 0 1 0 1 0 0 0 0 0 0 1 a = <'and' 0 1 0 1 0 0Поскольку точность компьютера ограничена, математически эквивалентные выражения (такие как 144*(13%144) и 13) могут приводить к разным результатам; использование погрешости при сравнении позволяет установить соответствие (результат 1 при сравнении) и в этом случае. Более либо менее точные сравнения можно делать с использованием союза !. для установки погрешности t , как в функции eq=: =!.t .