Pull to refresh
0
0
Путин Александр @Sinn3r

Робототехника

Send message

Как же здорово в D реализовано метапрограммирование, жаль что язык не обрел популярность

Напомнило статью товарища impwx Написание парсера с нуля: так ли страшен черт?
После первого прочтения я так сильно вдохновился таким подходом в реализации рекурсивного спуска, что написал свой парсер JSON на python который до сих пор используется в одном крупном опенсорс проекте

wargaming делает Калибр (шутер) на Unity

На сколько мне известно для численного решения СЛАУ используется LU-разложение, что открывает дополнительные возможности помимо решения СЛАУ
Если вкратце, то, матрицу можно представить как произведение нижней треугольной матрицы L и верхней треугольной матрицы U (A=LU) то и решение СЛАУ можно выразить из Ax=b в LUx=b, что можно представить в виде системы Ly=b и Ux=y, это если не вдаваться в подробности откуда взялась последняя система

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

Да это везде так, где идет работа с плавающей точкой. Числа с плавающей точкой нельзя проверять на равенство, нужно делать как то так: abs(a-b) > 0.001

Как по мне каррирование и частичное применение больше подходит для языков без обязательных скобок и разделителей между аргументами функции, например:


Примеры

На питоне


def sqr(arg): return arg * arg
def is_even(arg): return arg % 2 == 0
xs = range(1, 4)
list(map(sqr, filter(is_even, xs)))
>>> [4, 16]

Не на питоне, все функции каррированы


let sqr = arg * arg
let is_even arg = arg % 2 == 0
xs = range 4
list map sqr filter is_even xs
// или с пайп оператором
list_of_squared_even xs = xs |> filter is_even |> map sqr |> list

Если читать справа налево то даже читаемо


То же самое, но подробней


let sqr = arg * arg
let is_even arg = arg % 2 == 0
xs = range 1 4

each_square = map sqr  # -> returns func<iterable, iterable>
filter_even = filter is_even  # -> returns func<iterable, iterable>
list_of_squared_even = each_square filter_even # -> returns func<iterable, iterable>
list_of_squared_even xs
>>> [4, 16]

Если не ошибаюсь так работает F#, поправьте если не прав

Information

Rating
Does not participate
Location
Севастополь, Республика Крым, Россия
Date of birth
Registered
Activity