The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



"Linux Foundation представил инициативу по развитию открытых ..."
Версия для распечатки Пред. тема | След. тема
Форум Разговоры, обсуждение новостей
Исходное сообщение [ Отслеживать ]
Заметили полезную информацию ? Пожалуйста добавьте в FAQ на WIKI.
. "Linux Foundation представил инициативу по развитию открытых ..." +/
Сообщение от Аноним (-), 19-Окт-16, 03:55 
>> 9999999999999999==10000000000000000
> Ок. Сравниваем Number.MAX_SAFE_INTEGER с твоим числом:
>> 9007199254740991 // Number.MAX_SAFE_INTEGER
>> 9999999999999999

Явность и некостыльность прям изо всех щелей, да.

> Вывод: ССЗБ, для заведомо больших чисел во всех языках пользуются либами вроде BigNumber.

Да ну?


>>> 9000000000000000000000000 == 10000000000000000000000000

False
>>> 2**1234

29581122460809862906004469571610359078633968713537299223955620705065735079623892426105383
72483780501864436477590709559931208208993303817609370272124828409449413621106654437751834
95726811929203861182015218323892077355983393191208928867652655993602487903113708549402668
62452110061179427034023276609931709804888749380902312739825386061877261903500988327294112
9544640111837184L


1 ?- 9000000000000000000000000 == 10000000000000000000000000.
false.
4 ?- X is 2**1234.
X = 295811224608098629060044695716103590786339687135372992239556207050657350796238924261053837248378050186443647759070955993120820899330381760937027212482840944941362110665443775183495726811929203861182015218323892077355983393191208928867652655993602487903113708549402668624521100611794270340232766099317098048887493809023127398253860618772619035009883272941129544640111837184.

>> "\n" == 0
>> "\n\t\n" == 0
>> [etc.]
> Сам написал, сам же и опровергнул: http://www.ecma-international.org/ecma-262/5.1/#sec-11.9.3

Вопрос, как бы, был о костыльности и куча специальных правил для сравнения  ... ну ладно, пусть будет очередной офигительной фичей.

>> классические факапы слабой типизации, типа "1"+2 = "12".
> А если бы в итоге получили число 3, то

То это, внезапно, была бы все та же слабая типизация.
> То есть тут дело конвенции, а не знать конвенцию -- ССЗБ.

Конвенция тут -- слабая типизация. Ваш Кэп.

> Если делать "по-строгому, по-науке", то
> template string-и выглядели бы примерно так: `Привет, ${user.name.toString()}, у вас ${unread.toString()}
> непрочитанных сообщений` вместо `Привет, ${user.name}, у вас ${unread} непрочитанных
> сообщений`.

А вот это вообще из другой оперы. И записывается, кстати, примерно таким макаром даже в хаскеле.
А если по простому, то в этом случае, вполне явно и очевидно ожидается строка. И если у объекта есть метод "toString",  то ...

> Опровергнуто.

Потому что удобнее и вообще, гладиолус!


Ответить | Правка | Наверх | Cообщить модератору

Оглавление
Linux Foundation представил инициативу по развитию открытых ..., opennews, 18-Окт-16, 10:08  [смотреть все]
Форумы | Темы | Пред. тема | След. тема



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру