Size: a a a

2019 February 21

FM

Fey Martynov in pro.elixir
этот код в эликсире имеет в эликсире не тот же смысл, что в руби
источник

FM

Fey Martynov in pro.elixir
у переменной не то, что тип, даже значение поменять нельзя
источник

EV

Eugene Vasiliev in pro.elixir
источник

EV

Eugene Vasiliev in pro.elixir
этого достаточно что бы считать, что типизация - динамическая
источник

B

Buckler in pro.elixir
Привет, Haleigh!

Пожалуйста, реши капчу:

Вычисли: 81+98=...

Осталось попыток: 3
Если не решишь - забаню навеки...
Удачи!
источник

IK

Ihor Katkov in pro.elixir
Źmićer Rubinštejn
А graphq как работает? Через post?
graphql ничего не говорит, какой протокол использовать
источник

MS

Marat Safin in pro.elixir
Nicolae Paraschiva
достаточно

foo = 1
foo = "1"


если тип переменной не привязан при создании (явно или нет), то уже считается динамической
И это тоже не динамическая типизация, а shadowing
источник

EV

Eugene Vasiliev in pro.elixir
Marat Safin
И это тоже не динамическая типизация, а shadowing
А разве не должно быть разных скоупов для shadowing’а?
источник

MS

Marat Safin in pro.elixir
Eugene Vasiliev
А разве не должно быть разных скоупов для shadowing’а?
Shadowing может быть в одном скоупе. Вообще в эликсире все переменные иммутабельные. Поэтому переменная с тем же именем это всегда новая переменная. Так что доказательством того, что в эликсире динамическая типизация это скорее что функции могут принимать и возвращать разные типы без всяких енамов
источник

AB

Alexey Bolshakov in pro.elixir
и принимать тоже
источник

AB

Alexey Bolshakov in pro.elixir
но если это начинает парить, то можно написать спеки
источник

AB

Alexey Bolshakov in pro.elixir
вообще вроде говорят, что строгая динамическая типизация у нас. то есть 1+"2" у нас нельзя. не получится 3.
потому что + это для чисел, а для листов это уже конкатенация ++, а для бинарей <>
источник

YP

Yuriy Pogoreliuk in pro.elixir
Alexey Bolshakov
вообще вроде говорят, что строгая динамическая типизация у нас. то есть 1+"2" у нас нельзя. не получится 3.
потому что + это для чисел, а для листов это уже конкатенация ++, а для бинарей <>
Это строгость, а не динамичность
источник

AB

Alexey Bolshakov in pro.elixir
а я за динамичность и не топлю )
источник

АЮ

Андрей Юнми in pro.elixir
До сегодняшнего дня думал, что динамическая и статическая типизация это про определение типа в рантайме или на этапе компиляции.
источник

ЕР

Евгений Ромашкан in pro.elixir
Андрей Юнми
До сегодняшнего дня думал, что динамическая и статическая типизация это про определение типа в рантайме или на этапе компиляции.
Так так и есть ведь
источник

АЮ

Андрей Юнми in pro.elixir
О чём спор тогда, если эликсир не определяет типы переменных, аргументов функций и возвращаемых ими значений на этапе компиляции?
источник

ЕР

Евгений Ромашкан in pro.elixir
Андрей Юнми
О чём спор тогда, если эликсир не определяет типы переменных, аргументов функций и возвращаемых ими значений на этапе компиляции?
Не знаю о чем спор.
Если типы определяются в рантайме - типизация динамическая, на этапе компиляции - статическая.
Если в языке есть неявный каст типов, то есть 1 + "2" = 3, типизация нестрогая(слабая), если 1 + "2" выдает ошибку - строгая(сильная)
источник

YZ

Yuri Zhloba in pro.elixir
На всякий случай, для полной ясности: строгая/не строгая ортогонально статическая/динамическая. То есть, могут быть 4 варианта: строгая статическая, не строгая статическая, строгая динамическая, не строгая динамическая
источник

ЕР

Евгений Ромашкан in pro.elixir
Нуу
источник