
Dima
23.12.2016
10:14:12

Igor
23.12.2016
10:14:18

Dima
23.12.2016
10:14:19
что очень полезно

Alex
23.12.2016
10:14:31

Google

Igor
23.12.2016
10:14:39
вот в рубях не хватает интерефейсов очень сильно
по мне так

abc
23.12.2016
10:14:50
https://bugs.ruby-lang.org/issues/9999

Alex
23.12.2016
10:14:52
Наверное соглашусь.

Dima
23.12.2016
10:14:58
или я чего-то не понимаю?

Igor
23.12.2016
10:15:14
мне нужно удостоверится на уровне языка что класс реализует все методы

Dima
23.12.2016
10:15:38

Alex
23.12.2016
10:15:42
У тебя есть интерфейс который класс должен соблюдать

Igor
23.12.2016
10:15:43
сейчас это нужно делать тщательным тестированием

Dima
23.12.2016
10:15:53

Alex
23.12.2016
10:15:56
нужно убедиться что у тебя те минимальные методы которые нужны в твоем классе реализованы.

Google

Alex
23.12.2016
10:16:12
Это можно и сейчас сделать но не полностью и с костылями.

Igor
23.12.2016
10:16:17
именно

Alex
23.12.2016
10:16:26
плюс аргументы не проверишь
возможно и можно, но я лично не знаю как.

Igor
23.12.2016
10:16:45
можно

Alex
23.12.2016
10:16:51
Я вот не против интерфейсов был бы, удобная абстракция имхо.

Alexander
23.12.2016
10:16:59
стоп-стоп

Igor
23.12.2016
10:17:00
как минимум сравнив arity

Alexander
23.12.2016
10:17:38
я много где видел интерфейсы, но очень интересно: зачем они в руби? т.е. я услышал доводы, но появиляется более конкретный вопрос: чем не хватает классов и модулей?

Alex
23.12.2016
10:17:53
т.е ты не понимаешь плюшек интерфейсов?

Alexander
23.12.2016
10:17:56
наследуешься или инклюдишь «интерфейс» и is_a? даёт тебе гарантию, есть он или нет

Alex
23.12.2016
10:18:11
def send_message(MessageType: message)
Таким образом ты убеждаешься что аргумент который тебе передали реализует все нужные методы

Alexander
23.12.2016
10:18:30
это разные вещи

Igor
23.12.2016
10:18:37

Alex
23.12.2016
10:18:38
MessageType это интерфейс
твой класс может от него мм наследоваться и реализовать все методы которые требует интерфейс

Nikita
23.12.2016
10:19:08

Google

Alex
23.12.2016
10:19:09

Alexander
23.12.2016
10:19:10

Максим
23.12.2016
10:19:15
ым
что нефертити была царицей, а не секс символом
бля
не туда

Igor
23.12.2016
10:19:22

Максим
23.12.2016
10:19:23
сори

Igor
23.12.2016
10:19:35
он кстати в рубях тоже убогий

Alex
23.12.2016
10:19:35

Alexander
23.12.2016
10:19:50

Alex
23.12.2016
10:19:55

Igor
23.12.2016
10:19:56

abc
23.12.2016
10:20:18
мац хочет сделать soft typing, чтобы вроде бы и как duck typing и static. в обще мечты

Alex
23.12.2016
10:20:19
ты это уже и сейчас можешь проверить через is_a?

Igor
23.12.2016
10:20:19
и я бы мог делать object === Interface

Alex
23.12.2016
10:20:35
ты это уже и сейчас можешь проверить через is_a?

Igor
23.12.2016
10:20:46
сейчас это костыльно

Alex
23.12.2016
10:20:49
он вроде родителей проверяет

Alexander
23.12.2016
10:20:57

Google

Igor
23.12.2016
10:21:01
мне нужна валидация методов

Alexander
23.12.2016
10:21:03
тип одна строчка, а не символ + слово

Alex
23.12.2016
10:21:08
Ну так чтобы не костыльно было тебе надо прям в аргументе указать какой у него интерфейс

Igor
23.12.2016
10:21:12
плюс самая главная проблема - когда делать валидацию

Alexander
23.12.2016
10:21:14
это скорее будет сахаром

Igor
23.12.2016
10:21:19
при инстанцировании объекта?

Alexander
23.12.2016
10:21:19
и это не совсем интерфейсы
интерфейсы — это отдельные типы данных
как я понимаю

Admin
ERROR: S client not available

Igor
23.12.2016
10:21:38
вот в скале круто сделано
но она компилируемая

Alex
23.12.2016
10:21:42

Alexander
23.12.2016
10:21:45
типа класс, но не класс. и подобное уже вполне покрывается в руби модулями

abc
23.12.2016
10:21:56

Igor
23.12.2016
10:21:58

abc
23.12.2016
10:22:02
ее уже переписывают

Igor
23.12.2016
10:22:25

Aldar
23.12.2016
10:22:37
в эликсире протоколы

Igor
23.12.2016
10:22:41
после жабы - просто праздник

Google

Aldar
23.12.2016
10:22:46
но там и классов нет

Alex
23.12.2016
10:22:54

Aldar
23.12.2016
10:23:03
только структуры

Igor
23.12.2016
10:23:07
аля жаба

Ivan
23.12.2016
10:23:20

Alex
23.12.2016
10:23:20
полиморфные методы? это что?

Igor
23.12.2016
10:23:36

abc
23.12.2016
10:23:38
dotty это по сути исправленная scala будет

Alex
23.12.2016
10:23:51
языков развелось :D

Igor
23.12.2016
10:23:53
и функциональщина ортогональное понятие к ооп
у тебя лисп тоже объектно-ориентированный
и функциональный одновременно
ты имел ввиду императивный язык?

Ivan
23.12.2016
10:24:37
есть чистые функциональные

Igor
23.12.2016
10:24:56
ну так на в 8 жабе тоже есть немного функциональщины

Ivan
23.12.2016
10:25:16
в js тоже, но он же не функциональный)

Igor
23.12.2016
10:25:30
в руби тоже, и он тоже не функциональный

Ivan
23.12.2016
10:25:54
Ладно, согласен, ни о чем спор))
Просто видел, как в scala приходят java программисты и начинают строить то, что в java было
При этом смешивая с функциональщиной
ужасно выглядит