gavr_sas
210 subscribers
2.65K photos
181 videos
25 files
780 links
JB пропаганда
Download Telegram
выбивало по таймауту что бы я не сделал, вставил делей, перестало
прикольно что ktor целиком на kotlin dsl, будто с нима и не уходил
)
ёжики!
3😈1
Forwarded from gavr
типичная ситуация
😁1
пфф, стажеры
🌚1
Rust is a solution, looking for a problem
🍌21
Forwarded from ⁤⁤⁤⁤⁤⁤⁤P⁤⁤⁤ey⁤⁤⁤ Te⁤⁤⁤a
К сожалению не все вокруг гавры
🌭1
Аналог ADT на кложуре, разумеется ADT тут нет, как и типов, но эммулируют его просто наличием создавая в хешмапе поле type и свитча по нему, ожидая что в зависимости от одного значения этого поля, какими будут другие.

функция somefunction возвращает либо хешмап со статусом error либо success

(:status r) получает значение status, дальше по нему матчится, если error то выводим message, если success выводим result

#Clojure
👍1👎1
Аналог с свифтом
Топ по используемы технологиям в мобильных приложениях
gavr_sas
Аналог с свифтом
Такс, давно собирался сильнее влица в кложу, думаю самое время. Цель написать такую простую CLI штучку которая читает из json пары англ ру слов, и затем тебя опрашивает. Буду веси репортаж с места событий.

Первое задание, придумать схему json, считать из файла, считывать ввод пользователя в цикле.

#Clojure
gavr_sas
Такс, давно собирался сильнее влица в кложу, думаю самое время. Цель написать такую простую CLI штучку которая читает из json пары англ ру слов, и затем тебя опрашивает. Буду веси репортаж с места событий. Первое задание, придумать схему json, считать из…
Поставить json либу и считать файл, десериализовать в json оказалось супер просто, одна команда slurp(почему slurp???) считывает файл в строку, json/read-str превращает в нативный для кложи формат вложенных мап.

Теперь пытаюсь избавиться от этих надоедливых варнингов, def создает глобальную для неймспейса переменную, и нужно использовать let, но у let некрасивый синтаксис, вместо
(def sas 42)
(let [sas 42] используй тут sas, дальше его не будет)

отдает def x in {} из мл окамлов, но это же будет неудобно, благо можно объявлять сразу несколько (let [a 1 b 2] юзаем b и a)

Похожа кложа отучает от привычного подхода объявления переменных на каждую функцию и заставляет быть более функциональным, уже очевидно что тут конеш лучше использовать пайп оператор вместо промежуточных let'ов
gavr_sas
Поставить json либу и считать файл, десериализовать в json оказалось супер просто, одна команда slurp(почему slurp???) считывает файл в строку, json/read-str превращает в нативный для кложи формат вложенных мап. Теперь пытаюсь избавиться от этих надоедливых…
Забавная ситуация, циклы тут этакие рекурсионные, отдает ерленгом эликсиром, делаешь loop, а потом в разных местах делаешь recur, то есть loop создает точку рекурсии, и его можно вызывать с аргументами которые могли бы быть в том массивчике после loop []

Вторая забавная фигня это отсутствие синтаксических областей видимости(как и синтаксиса), изза чего для веток if else приходится делать do блоки.
👍2👎1