Size: a a a

2020 August 04

O

Oleksiika in ErlangRus
И, как писали выше, стабильное окружение и одна и та же ось.
источник

c

corsars in ErlangRus
Коллеги - в В Эрланге значения переменных действительны в рамках функций ? В другой функции заново нужно "присваивать" ту же переменную ?
источник

EK

Evgeny Khramtsov in ErlangRus
ну это какбэ наверное во всех языках так
источник

s

serkus in ErlangRus
corsars
Коллеги - в В Эрланге значения переменных действительны в рамках функций ? В другой функции заново нужно "присваивать" ту же переменную ?
Не туже, а другую не присваивать, а сопоставить с образцом.
источник

TT

Taras 🦀 Taraskin in ErlangRus
corsars
Коллеги - в В Эрланге значения переменных действительны в рамках функций ? В другой функции заново нужно "присваивать" ту же переменную ?
если в обычной именованной функции есть внутри определение и использование лямбды —

то переменные, определенные выше определения лямбды - в лямбду попадают,

а определенные внутри лямбды переменные —
ниже определения лямбды в родительскую-именованную фукцию не проваливаются

(если я все правильно вспоминаю, как я год или сколько там времени назад это все тестил-изучал)

обычно я пишу на рекурсиях - хелперах,
не часто использую лямбды с итераторами типу свертки ☺️
источник

ИИ

Иванов Иванов... in ErlangRus
атомы глобальны
источник

TT

Taras 🦀 Taraskin in ErlangRus
атомы да, и еще у них есть лимит по количеству сверху - есть потолок

я о лямбдах)
источник

ИИ

Иванов Иванов... in ErlangRus
corsars
Коллеги - в В Эрланге значения переменных действительны в рамках функций ? В другой функции заново нужно "присваивать" ту же переменную ?
источник

TT

Taras 🦀 Taraskin in ErlangRus
corsars
Коллеги - в В Эрланге значения переменных действительны в рамках функций ? В другой функции заново нужно "присваивать" ту же переменную ?
и да, в различных именованных функциях нет проблем использовать одно и то же название переменной

так же, как и в разных клаузах одной именованной фукции,

так же, как и в разных клаузах конструкций case/ if


это только в лямбду сверху проваливается)
но не с лямбды, да и с обычными именованными функциями все ок
источник

VS

Vladimir Sekisov in ErlangRus
Taras 🦀 Taraskin
если в обычной именованной функции есть внутри определение и использование лямбды —

то переменные, определенные выше определения лямбды - в лямбду попадают,

а определенные внутри лямбды переменные —
ниже определения лямбды в родительскую-именованную фукцию не проваливаются

(если я все правильно вспоминаю, как я год или сколько там времени назад это все тестил-изучал)

обычно я пишу на рекурсиях - хелперах,
не часто использую лямбды с итераторами типу свертки ☺️
области видимости в Erlang определяются по традиционным
правилам лексической видимости, lexical scoping, так что
можно прочитать где-то один раз и навсегда
источник

SP

Sergey Prokhorov in ErlangRus
ну с case всё-же не очень очевидно
источник

c

corsars in ErlangRus
serkus
Не туже, а другую не присваивать, а сопоставить с образцом.
Хм... документация говорит что переменные действуют в рамках функции... интересно...
источник

В

Вертолетчик... in ErlangRus
corsars
Хм... документация говорит что переменные действуют в рамках функции... интересно...
Смотря в рамках какой функции. Если функция внутри другой функции, то область видимости верхней функции распространяется на внутреннюю
источник
2020 August 05

SB

S B in ErlangRus
Иванов Иванов
сишный json нужен если в один поток надо очень быстро парсить (имхо)
вообще хорошо бы чтоб модуль json вошел в OTP и не нужно было забивать голову такими простыми вещами. меня, например, это достаточно сильно раздржает, но видимо у OTP нет таких проблем раз не добавляют. не верю, что сложно на С написать очередную нэйтив имплементед фанкшин прямыми руками и зарелизить.
источник

A

Andrey in ErlangRus
Sergey Prokhorov
ну с case всё-же не очень очевидно
для меня в свое время была не очевидная вот эта ошибка
  case foo:bar() of
   {Test,_} -> foo:some(Test);
   _ -> skip
 end,
 case foo:bar2() of
   {_,Test} -> foo:some(Test);
   _ -> skip
 end.
источник

A

Andrey in ErlangRus
хорошо она на этапе компиляции вылазит
источник

ИИ

Иванов Иванов... in ErlangRus
S B
вообще хорошо бы чтоб модуль json вошел в OTP и не нужно было забивать голову такими простыми вещами. меня, например, это достаточно сильно раздржает, но видимо у OTP нет таких проблем раз не добавляют. не верю, что сложно на С написать очередную нэйтив имплементед фанкшин прямыми руками и зарелизить.
сделайте фиче-рексвест.
источник

ИИ

Иванов Иванов... in ErlangRus
Andrey
для меня в свое время была не очевидная вот эта ошибка
  case foo:bar() of
   {Test,_} -> foo:some(Test);
   _ -> skip
 end,
 case foo:bar2() of
   {_,Test} -> foo:some(Test);
   _ -> skip
 end.
а в чем ошибка? Test выше не задан?
источник

EM

Evgeny M. in ErlangRus
в свое время в erlang-questions был большо тред на тему json в otp и гуру из команды otp тогда сошлись во мнении что не нужен
источник

EM

Evgeny M. in ErlangRus
А с case интересна такая конструкция, многие не знают вообще что так можно

case Cond of
   Foo -> A=1, B=2;
   Bar -> A=2, B=3
end

после этого вне case будут определены переменные A и B.
источник