malyj_gorgan (
malyj_gorgan) wrote2023-12-02 05:21 pm
![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
тут є любителі Скали
По роботі, через примху начальства, доводиться переписувати пару шматків коду з SQL на Скалу, тої Скали не знаючи зовсім. Але потрошки, потрошки... Проблема в тому, що це для внутрішнього нашого датастора, там компіляція/перевірка на помилки триває хвилину, а запуск найтривіальнішого коду займає хвилин 5-10, тому все помаленько дуже. Але, 80% уже готово...
...І раптом вперся в помилку, яку уже дві години не можу виправити. З того всього виглядає, що в dataframe.column.when() немає логічного "OR". Воно тупо ламається на значку "||"
Якщо це не баг, а фіча, поясніть мені, тупому, кому така фіча могла прийти в голову. І, основне, НАФІГА?
P.S. Цікаво, скільки з тих, хто користується Скалою, знає безсмертні рядки про
Лупайте сю скалу! Нехай ні жар, ні холод
Не спинять вас. Зносіть і труд, і спрагу, й голод
Бо вам призначено скалу сесю розбить.
...І раптом вперся в помилку, яку уже дві години не можу виправити. З того всього виглядає, що в dataframe.column.when() немає логічного "OR". Воно тупо ламається на значку "||"
Якщо це не баг, а фіча, поясніть мені, тупому, кому така фіча могла прийти в голову. І, основне, НАФІГА?
P.S. Цікаво, скільки з тих, хто користується Скалою, знає безсмертні рядки про
Лупайте сю скалу! Нехай ні жар, ні холод
Не спинять вас. Зносіть і труд, і спрагу, й голод
Бо вам призначено скалу сесю розбить.
no subject
І про це і кажу: коли визначали оператори (хай вони і є насправді методами) для об'єкту dataframe.column.when , то хтось там зробив ментальне зусилля, щоби не дай бог не визначити логічне "або". Це як би хтось робив калькулятор без кнопки "помножити". Все інше є, а множення нема, бо нафіга воно вам, ось експонента, логарифм і додавання, чого вам ще треба. Ніби, і правда, можна без нього, але навіщо.
Якби ще вони йшли шляхом мінімізації операндів, то я б зрозумів, але нє, з колонкою в формагі часу/дати, можна робити і plusDays(), і minusDays(), бо написати plusDays(-2) у них рука відсохне. А визначити "||" - нє, навіщо, і так добре...