Size: a a a

Clojure — русскоговорящее сообщество

2020 September 17

OR

Oleg Roshchupkin in Clojure — русскоговорящее сообщество
The2lb3oz4dr10½grOfHedgehogs
А что с ними не так?..
Вроде всё ок
Да вроде уже ничего, но раньше было веселее.
источник

OR

Oleg Roshchupkin in Clojure — русскоговорящее сообщество
Но нет гарантии, что не осталось весельчаков.
источник

OR

Oleg Roshchupkin in Clojure — русскоговорящее сообщество
Поэтому привычка указывать radix всегда
источник

T

The2lb3oz4dr10½grOfH... in Clojure — русскоговорящее сообщество
С ним регексп сложнее...
источник

OR

Oleg Roshchupkin in Clojure — русскоговорящее сообщество
The2lb3oz4dr10½grOfHedgehogs
С ним регексп сложнее...
🤷
источник

OR

Oleg Roshchupkin in Clojure — русскоговорящее сообщество
Тогда можно забить до встречи с проблемой, если потенциальный ущерб не существенен. Вероятность наткнуться вроде бы небольшая.
источник

KC

Kirill Chernyshov in Clojure — русскоговорящее сообщество
обьяснил бы суть проблемы, вместо пугалок)
источник

OR

Oleg Roshchupkin in Clojure — русскоговорящее сообщество
parseInt("0101") до определённого момента отдавал 65
источник

T

The2lb3oz4dr10½grOfH... in Clojure — русскоговорящее сообщество
На js или java?
источник

KC

Kirill Chernyshov in Clojure — русскоговорящее сообщество
Oleg Roshchupkin
parseInt("0101") до определённого момента отдавал 65
до какого? и в каком движке?
источник

OR

Oleg Roshchupkin in Clojure — русскоговорящее сообщество
На js, везде, до es5 вроде как
источник

OR

Oleg Roshchupkin in Clojure — русскоговорящее сообщество
Но так как cljs по умолчанию компилируется в es5, то и проблемы этой быть не должно.
источник

KC

Kirill Chernyshov in Clojure — русскоговорящее сообщество
Oleg Roshchupkin
Но так как cljs по умолчанию компилируется в es5, то и проблемы этой быть не должно.
es5 это вариант спецификации, то как будет себя вести parseInt(‘015’) зависит от имплементации
источник

OR

Oleg Roshchupkin in Clojure — русскоговорящее сообщество
В целом да, я потому и написал, что нет гарантии.
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/parseInt#Octal_interpretations_with_no_radix
источник

OR

Oleg Roshchupkin in Clojure — русскоговорящее сообщество
Oleg Roshchupkin
Но так как cljs по умолчанию компилируется в es5, то и проблемы этой быть не должно.
Здесь я, кажется, наврал.
источник

ST

Sergey Trofimov in Clojure — русскоговорящее сообщество
The2lb3oz4dr10½grOfHedgehogs
done
(defn parseInt [^String s]
 #?(:clj  (Integer/parseInt s)
    :cljs (js/parseInt s)))


(defn try-parse-int [s]
 (some->> s str (re-matches #"[-+]?\d+") parseInt))
накладные расходы сомнительные
  (Integer/parseInt "10") #_"17 ns"
 (try-parse-int "10") #_"130 ns"
источник

T

The2lb3oz4dr10½grOfH... in Clojure — русскоговорящее сообщество
Преждевременная оптимизация))
источник

T

The2lb3oz4dr10½grOfH... in Clojure — русскоговорящее сообщество
У меня есть боттлнеки куда хуже в программе, так что лучше такое, чем баги
Потом ускорять буду
источник

ST

Sergey Trofimov in Clojure — русскоговорящее сообщество
The2lb3oz4dr10½grOfHedgehogs
Преждевременная оптимизация))
в java и в cljs есть функции типа isDigit, если уж на то пошло
простое регекспы довольно увесистый интсрумент
источник

T

The2lb3oz4dr10½grOfH... in Clojure — русскоговорящее сообщество
Они небось тоже себя ведут непредсказуемо
источник