- 1
class Int extends Float {}
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+130
class Int extends Float {}
http://haxe.ru/ref-base_types
Lure Of Chaos 02.12.2013 21:02 # +2
wvxvw 02.12.2013 22:43 # +1
someone 03.12.2013 06:13 # +1
LispGovno 03.12.2013 08:09 # 0
Этож какие?
LispGovno 03.12.2013 08:11 # +2
Только сейчас понял, что Барбара Лисков не мужик. о.0
bormand 03.12.2013 09:24 # +2
Оффтоп: местные овцушки мужику выдали паспорт, в котором написано Кузьма Ивановна...
LispGovno 03.12.2013 09:56 # 0
guest 03.12.2013 18:22 # +1
DBdev 03.12.2013 15:18 # +3
Liskov substitution principle
Имя редко где упоминается. Вполне можно представлять в голове бородатого профессора Лискова.
bormand 03.12.2013 15:35 # 0
DBdev 03.12.2013 17:12 # 0
bormand 03.12.2013 18:21 # 0
eth0 03.12.2013 20:24 # +1
LispGovno 03.12.2013 20:46 # 0
bormand 03.12.2013 21:08 # 0
da4ever 03.12.2013 10:15 # 0
http://try.haxe.org <- введите сюда этот замечательный код и:
Build failure
Type name Int is redefined from module StdTypes
Как я и говорил ниже - проблема в голове писавшего код.
Но вы, конечно, можете продолжать обсуждать почему так придумали и как можно было сделать иначе.
Lure Of Chaos 03.12.2013 10:30 # 0
это какие? применимы все, только работают не так.
к примеру, деление - ну есть же целочисленное деление Int -> Int, к примеру, 1/3=0
wvxvw 03.12.2013 14:20 # 0
Вот решил посмотреть, как же оно реализовано на самом деле. И, на самом деле (это только пример, но во всех остальных местах по коду целые и вещественные обрабатываются отдельно / никто не делает предположений о том, что одно является подклассом другого). Так что, наверное, все-таки это инициатива автора статьи.
Еще, как вариант, статья могла быть написана очень давно, когда Int / Float действительно были определены в стандартной библиотеке http://haxe.org/ref/basic. (В настоящем варианте стандартной библиотеки определений Int / Float нет, но рефлектор, например, считает их разными типами.)
da4ever 03.12.2013 17:11 # 0
Впервые эта строчка встречается в 2008 году, в первой ревизии страницы с текстом.
http://haxe.org/ref/basic?version=8 version #8, modified 2008-05-01 21:50:41 by ncannasse
Согласно истории ревизий, это период после 1.19 (2008-04-05), но до RC 2 (2008-07-17). Некоторые изменения второй ветки, предполагают, как мне кажется, разделение типов целых и рациональных чисел:
(2008-11-23: 2.02) fixed issue with Int default value for Float parameter
(2009-03-22: 2.03) optimizer : reduce constant int/float/bool expressions and immediate function calls
https://github.com/HaxeFoundation/haxe/blob/development/doc/CHANGES.txt
Проблема оказалась в том, что никто не следит за документацией. Обсуждаемый кусок был неприменим уже ко второй версии, а остался на вики аж до третьей. Всетаки проект подзаброшен.
кстати, с третьей версии базовые типы внезапно абстрактны:
(2013-02-24: 3.0.0-RC) added abstract types (Int/Float/Bool/Void/Class/Enum/EnumValue)
da4ever 03.12.2013 04:27 # −3
Что явно указывает на сорта наполнения головушки писавшего. Впрочем, чего еще можно ожидать от упертого апологета подзаброшенной поделки опенсорсных лямбда-самцов?
guest 01.08.2014 16:02 # 0