Size: a a a

2020 October 16

ŹR

Źmićer Rubinštejn in pro.elixir
Lama Lover
А что делать если у меня на инпут придёт
%{
 (fn x, y -> x + y end) => 1
}

?
То же самое, что и когда сюда

path1 ~> path2
источник

LL

Lama Lover in pro.elixir
Źmićer Rubinštejn
То же самое, что и когда сюда

path1 ~> path2
Ты меня неправильно понял
источник

LL

Lama Lover in pro.elixir
Сейчас опишу кодом
источник

ŹR

Źmićer Rubinštejn in pro.elixir
Да, я понял
источник

ŹR

Źmićer Rubinštejn in pro.elixir
Ща отвечу тебе:
источник

ŹR

Źmićer Rubinštejn in pro.elixir
iex(1)> a = &(&1)
#Function<44.97283095/1 in :erl_eval.expr/5>
iex(2)> b = &(&1)
#Function<44.97283095/1 in :erl_eval.expr/5>
iex(3)> a == b
false
источник

LL

Lama Lover in pro.elixir
f = fn x, y -> x + y end
p = path(f)
Pathex.view(%{f => 1}, path3)

Тут у меня упадёт, а должно выкинуть 1
источник

ŹR

Źmićer Rubinštejn in pro.elixir
хотя, почему false...
источник

ŹR

Źmićer Rubinštejn in pro.elixir
Хуйня какая-то
источник

AB

Alex Bubnov in pro.elixir
Źmićer Rubinštejn
хотя, почему false...
а как бы оно еще было?
источник

LL

Lama Lover in pro.elixir
Źmićer Rubinštejn
хотя, почему false...
Да, false
А вот
f = &(&1 + 1)
true = f == f
источник

ŹR

Źmićer Rubinštejn in pro.elixir
Alex Bubnov
а как бы оно еще было?
Ну рефы то одинаково выглядят
источник

ŹR

Źmićer Rubinštejn in pro.elixir
Хоть бы одна цифра разная была
источник

AB

Alex Bubnov in pro.elixir
Źmićer Rubinštejn
Ну рефы то одинаково выглядят
это отдельный интересный вопрос, откуда те рефы берутся
источник

LL

Lama Lover in pro.elixir
Źmićer Rubinštejn
Ну рефы то одинаково выглядят
Рефы — это ссылки на место где код лежит, а у замыкания ещё контекст есть, и он тут разный
источник

ŹR

Źmićer Rubinštejn in pro.elixir
Lama Lover
Да, false
А вот
f = &(&1 + 1)
true = f == f
И где ты такое можешь предположить в реальном коде?
источник

ŹR

Źmićer Rubinštejn in pro.elixir
Еще сделать замыкание подороге я могу предположить, но как мы выяснили - оно не заматчится
источник

LL

Lama Lover in pro.elixir
Lama Lover
Рефы — это ссылки на место где код лежит, а у замыкания ещё контекст есть, и он тут разный
iex(6)> x = 1
1
iex(7)> f = fn a -> a + x end
#Function<44.97283095/1 in :erl_eval.expr/5>
iex(8)> f = fn a -> a + x end
#Function<44.97283095/1 in :erl_eval.expr/5>
iex(9)> x = 2
2
iex(10)> g = fn a -> a + x end
#Function<44.97283095/1 in :erl_eval.expr/5>

Тут рефы тоже одинаковые
источник

LL

Lama Lover in pro.elixir
Źmićer Rubinštejn
Еще сделать замыкание подороге я могу предположить, но как мы выяснили - оно не заматчится
Заматчится
источник

LL

Lama Lover in pro.elixir
источник