Олимпиадное программирование уровня /b/Давайте наконец выясним в каком языке программирования самая лучшая читаемость, гибкость, поймем какой язык самый лучший по версии двача.Тут много людей пишут на разных языках.предлагаю решить простую задачку на вашем языке и опубликовать в тред.Задача:Есть некий JSON, в нем массив объектов,[ {id:1,name:"Андрей", age: 11}, {id:2,name:"Иван", age: 14}, {id:3,name:"Петр", age: 13}, {id:4,name:"Сергей", age: 90}, {id:5,name:"Марина", age: 24},]Нужно получить объект вида:{ minors: [5,4] adults: [3,2,1],} т.е. мы создаем объект где есть 2 поля, совершеннолетние и несовершеннолетние и в них запихиваем Id людей.Простыми словами: Берем пользователей, созадем новую сущность, в adults хуячим совершеннолетних, т.е. age>=18 в остальных зумерков хуячим в minorsПоехали, принимаютися решения всех языков. (даже PHP скрипты)
>>204389933 (OP)Ща всем двачем будем сычику лабы решать, эххх, какие же хитрые школьники пошли, играют на чувствах макак
>>204389933 (OP)так чтоли? примерно, не тестилvar result = array.reduce((acc, v) => {acc[v.age>17?"adults":"minors"].push(v.id);}, {minors: [], adults: []});
>>204390368задачи мепинг данных поступает часто.и если язык не может справится с такой примитивной задачей как эта, то язык бракованный ты пхпшник как я понял?
>>204390429че ты рвешься то, маня? Щас во всех школах питон хуйтон вводят, какой блять паскаль. Так что не надо тут обманывать. К тому же, когда ты пишешь на каком-то из языков, по большей части такие задачи и составляют 90% рутины, и проще сдлелать в 3 строчки на питоне, чем на какой-нибудь обосаной джаве или плюсах
[httpget]actionresult main(einum<model> lol){var lol1 lol.where(a=>a.age>18).select(a=> a.id);var lol2 lol..where(a=> a.age<18).select(a=> a.id);return(json(lol1, lol2));}/тред
>>204390571ты гум ебаный, не понимаешь что эта задача решается за 1 минуту.долбаеб, думающий что это полноценный проект на 1 день.какие же вы тупые пиздец.
>>204390571а че купились то, лабу кому-то сделать? да мне похуй же я пооратькстати мой жс пример не работает, но идею примерно можно понять
>>204389933 (OP)loop at lt_json assigning field-symbol(<fs_json>). case <fs_json>-age. when <fs_json>-age < 18. append <fs_json> to ls_result-minors when <fs_json>-age >= 18. append <fs_json> to ls_result-adults endcase.endloop.
>>204390692Так ему же хуже будет, не? Спросит его марья ивановна: Объясни че ты тут накалякал, и почему блядь ты калякал на js когда домашка на паскале, а двачер пук-среньк и вечером будет писать что все програмисты лохи
>>204390847а это и не нужно - примитивная задача, которая должна решаться в строку (хотя я и не решил там) - у строки просто будет комент что оно делает, всем посрать на содержимое и никто правть это не будета так да - в другом случае ты мог бы оформить обычный цикл с проверкой и было бы читаемо
m={'minors':[],'adult':[]} For I in dict: If i['age'] ==None: Print('eto bez vozrasta, vykinem') Elif i['age']<18:M['minors'].append(i['id'])Elif i['age']>=18:M['adult'].append(i['id'])Print(str(m))
>>204391040Пидора ответ, по аналогии с решением анона на JS выше.array_reduce(json_decode($json), function ($result, $x) { $type = $x->age > 17 ? 'adults' : 'minors'; $result[$type][] = $x->id; return $result; }, []);Да, на пыхе многословней выходит, но это буквально один редюс.Ну и можешь json_encode на это сделать, если так хочется json.
>>204389933 (OP)JSON .parse(input) .reduce( (acc, {id, age})=> age > 18 ? {...acc, adults: [...acc.adults, id]} : {...acc, minors: [...acc.minors, id]}, {minors:[], adults:[]})мимо ждун 50к в мес
>>204391145а я вот на жс так и не доделал тк осознал что пуш вернет немного не то и никак не сделать лямбду без нескольких шагов, вот сижу думаю как можно перебрать исходник чтоб прокатило - иначе правда тупой цикл с выбором проще решает задачу
>>204391291а ты хорош выбрался спредом, а я не додумался до [...arr, newval]че там мало зарабтываешь - пиздуй в ниишки - от 80к
>>204389933 (OP)Ты зачем такие треды создаешь на дневном? Тебе тут только школота подскажет, все успешные прогеры на работе.
>>204391485Да, я так и вижу, как успешный прогер хочет поскорее помочь дауненку с лабой в одну строчку.
>>204389933 (OP)const sraka = [ {id:1,name:"Андрей", age: 11}, {id:2,name:"Иван", age: 14}, {id:3,name:"Петр", age: 13}, {id:4,name:"Сергей", age: 90}, {id:5,name:"Марина", age: 24},];const cb = (accumulator, current) => { if (current.age > 18) { accumulator.adults.push(current.id); } else { accumulator.minors.push(current.id); } return accumulator;};const result = sraka.reduce(cb, { minors: [], adults: [], });console.log(result);
Ловите самый читаемый код, чмошари (JS)const adults = data.filter(({age})=>age>=18); const minors = data.filter(({age})=>age<18);const result = {adults, minors}С php я поржал
>>204391622$adults = array_filter($data, function ($x) { return $x->age >= 18; });$minors = array_filter($data, function ($x) { return $x->age < 18; });$result = ['adults' => $adults, 'minors' => $minors];На, еще посмейся.
>>204391554>>204391291 >>204390425Если итераций мало, то можно пожертвовать производительностью и сделать как тут: >>204391622 когда элементов больеш 100 000 то твой вариант конечно же лучше
class bbs{private:vector<short> adults;vector <short> minor;public:bbs(unsigned short age,unsigned short id) (age>=18)?this->adults.add(id):this->minor.add(id);};
>>204391622тогда уж самый читаемый вотvar result = {adults:[], minors:[]};array.forEach((item) => result[item.age>17?"adults":"minors"].push(item.id) );алсо твой код не выполняет тз, но собирает верно
Абсолютный ноль в программировании.Но однажды в вижиал бэйсик сумел написать "программку" в которой хранил свои многочисленные логины-пароли. Просто для удобства - выбрал аккаунт, нажал "Копировать". Программа открывалась после ввода пароля.Предмет моей гордости!
(obj) = {let a = [], b = [] ; obj.map((i){(i['age']>18)&a={...a+i.id}?b={...b+i.id}return json.stringify(a+b)})}
>>204391804выполнит, ну можно добавить .reverse() в конец каждого массива.у меня сразу понятно что в 1 переменной массив людей и во второй переменной массив людейа у тебя что-то там мутируется, какие-то циклы хуй пойми, нужно секунд 5 вдумываться
>>204391804>>204391707>>204391622А вот в руби есть partitionИ в итоге решение будет по типуadults, minors = data.partition { |v| v.age > 17 }
>>204389933 (OP)function opHuy(arr) {let result = { zoomers: [], huyumers: []};arr.forEach(({ id, name, age }) => {age < 18 ? result.zoomers.push(id) : result.huyumers.push(id);});}
>>204392039не выполнит, какой нахуй реверс, тебе нужно либо мап в конце сделать или заранее подготовить что-то иначе - ты объекты вернул разложеные в нужные места, а надо чтоб там айдишники былино да ты прав у меня ебанутый иф в середине - сделай мне там спред и будет круче чем твой редюс вариант>>204392141руби пиздат что я еще могу сказать на это :)
>>204392489zopa = (obj) => {let a = [], b = [] ; obj.map((i){(i['age']>18)?a={...a+i.id}:b={...b+i.id});return json.stringify(a+b)})}
>>204389933 (OP)>{id:1,name:"Андрей", age: 11},>{id:2,name:"Иван", age: 14},>{id:3,name:"Петр", age: 13},Один из них оказывается двачером и ты ловишь синий экран.
>>204392600zopa = (obj) => {let a = [], b = [] ;obj.map((i){(i['age']>18)?a={...a, i.id}:b={...b, i.id});return json.stringify(a, b)})}воттак наверн там же запятые, не пишу на этом высере
>>204392694> ((i){(i['age']>18)?a={...a, i.id}:b={...b, i.id});обосрался с синтаксиса, кто его сможет прочитать без ошибок
>>204392277Точно , забыл про IDну хули вот))const result = { adults: data.filter(({age})=>age>=18).map(({id})=>id).reverse(), minors: data.filter(({age})=>age<18).map(({id})=>id).reverse()}реверс что бы было не 1,2,3 а 3,2,1
>>204390125someFunc(JsonArray).Select(x=>x.age<18?new {Group = "minors",Id = x.id}).GroupBy(x=>x.Group).ToDictionary(x=>x.Key, x=>x.ToList());
>>204393104someFunc(JsonArray).Select(x=>x.age<18?new {Group = "minors",Id = x.id}:new {Group = "adults",Id = x.id}).GroupBy(x=>x.Group).ToDictionary(x=>x.Key, x=>x.ToList());
>>204389933 (OP)На го писали уже? type User struct { id, age int name string}type Stat struct { Adults, Minors []int}func (usr *User) IsAdult() bool { if usr.age >= 18 { return true } return false}func getStat() Stat { data := `[ {id:1,name:"Андрей", age: 11}, {id:2,name:"Иван", age: 14}, {id:3,name:"Петр", age: 13}, {id:4,name:"Сергей", age: 90}, {id:5,name:"Марина", age: 24}, ]` list := make(map[int]User) stats := Stat{} json.Unmarshal([]byte(data), &list) for _, user := range list { if user.IsAdult() { stats.Adults = append(stats.Adults, user.id) } else { stats.Minors = append(stats.Minors, user.id) } } return stats}
>>204393331нахуя везде разны ерегистры использовать пиздецпочему ваш блядский C# не додумался сделать это опционально что бы можно было писать x.toList()и select вместо Select
>>204389933 (OP)Типа такова?совершиннолитние=создатьобъикт("списакзначениев");нисовиршиннолетие=создатьобъикт("списакзначениев");Для счетчик=1 по json.размерсписка() циклЕсли число(прав(json.получитьзначение(счетчик),2))<18 тогданисовершиннолитние.добавитьзначиние(считчик);иначесовиршиннолитние.добавитьзначиние(счичик);конецесли;кониццикла;Адинесска
>>204389933 (OP)const result = json.reduce((acc, curr) => { return curr.age < 18 ? { ...acc, minors: [...acc['minors'], curr.id] } : { ...acc, adults: [...acc['adults'], curr.id] }}, { minors: [], adults: [] })senior react dev
>>204389933 (OP)хуйня какая-то получилась, никогда json не использовал. Взял либу от гугла, но она почему-то хочет JsonObject, вместо JsonElement.
>>204394319Аргументы? Аргументы тут в том, что макаки пытаются внушить своё говно всем подряд даже не подозревая что крутится под капотом их параши. Корпорации настолько тупые, что до сих пор пишут на крестах, эрланге, элексире, го и прочих вещах о которых любителю выпадающих менюшек и слышать не приходилось. В частности, твой хвалёный ЖЭЭС взорвёт к хуям сервер при хайлоаде. У каждого языка своя задача, а лепить жс везде где только можно удел макак и "выпускников курсов". >мертвом языке с gotoЖивее всех живых, гугли динамику репозиториев на гитхабе. goto ни разу не использовал. Не знаю кого ты хотел обидеть этим, но сама мысль об использовании goto выдаёт в тебе долбоёба. Покормил.
>>204394877не приходилось вообще никогда использовать ни XML, ни JSON. Немного не про это у меня работа
>>204394809всем известно что крутится, где аргументы то мань?хз у нас на ноде крутится инет магазин, 2000 заказов в сутки, примерно 500 онлайн , всего примено 500к посетителей в суткивообще проблем не видим.Если будет 1 000 000, то докупим сервер за 1000$
>>204395003Я понял. Можешь не продолжать. Хайлоад уровня "у нас магазин на ноде крутится, а чуть что сервер докупим". Иди хлебни смузи за разгромную победу в интернете.
>>204394809Ну ваша параша никому не нужна, Об этом говорит динамика . умные люди учат и используют rustделает все то что и ваш язык, только еще решает задачи C++ макак
>>204389933 (OP)Никакого бугуртаpackage mainimport ( "encoding/json" "fmt" "os")type Human struct { ID int `json:"id"` Name string `json:"name"` Age int `json:"age"`}type Result struct { Minors []int Adults []int}func main() { data := ` [ {"id":1,"name":"Андрей", "age": 11}, {"id":2,"name":"Иван", "age": 14}, {"id":3,"name":"Петр", "age": 13}, {"id":4,"name":"Сергей", "age": 90}, {"id":5,"name":"Марина", "age": 24} ] ` var humans []Human err := json.Unmarshal([]byte(data), &humans) if err != nil { fmt.Printf("%v", err) os.Exit(1) } res := Result{ Minors: make([]int, 0), Adults: make([]int, 0), } for _, v := range humans { if v.Age < 18 { res.Minors = append(res.Minors, v.ID) } else { res.Adults = append(res.Adults, v.ID) } } fmt.Printf("%+v", res)}
>>204395107А у тебя хайлауд уровня гугл и янедкс, ты мамкин фантазер живешь в мире грез.я тебе про реальные проекты описываю, городские порталы, интернет банкинги, везде примерно такая нагрузка как у нас, т.е. около 500 000 или 1 000 000 в сутки
package mainimport ( "encoding/json" "fmt" "os")type Human struct { ID int `json:"id"` Name string `json:"name"` Age int `json:"age"`}type Result struct { Minors []int Adults []int}func main() { data := ` [ {"id":1,"name":"Андрей", "age": 11}, {"id":2,"name":"Иван", "age": 14}, {"id":3,"name":"Петр", "age": 13}, {"id":4,"name":"Сергей", "age": 90}, {"id":5,"name":"Марина", "age": 24} ] ` var humans []Human err := json.Unmarshal([]byte(data), &humans) if err != nil { fmt.Printf("%v", err) os.Exit(1) } res := Result{ Minors: make([]int, 0), Adults: make([]int, 0), } for _, v := range humans { if v.Age < 18 { res.Minors = append(res.Minors, v.ID) } else { res.Adults = append(res.Adults, v.ID) } } fmt.Printf("%+v", res)}
For(int i, i <= array.length, i++){ If(age <= 18) minors.push(id); else adults.push(id);}Вроде все правильно т.к. сейчас возможности проверить нема.
>>204394831хуй соси со своими джунооптимизациями дебилканачиталась дура по верхам про ОПТИМИЗАЦИИ и сыпет терминамидурилка ебаная давай скрины бенчей или пидар
>>204389933 (OP)Немного не по теме треда, но в какой язык проще всего вкатится человеку, который в математике полнейший дебил? Всегда отпугивал тот факт, что программист должен знать математику аки Эйнштейн.
>>204395205Ты живёшь в мире потребительского интернета и отрицаешь существование чего бы то ни было ещё, мань. Ну как можно быть таким узколобым. Реальный пример? Вот тебе реальный пример. У меня в компании сотни тысяч устройств, датчиков, сенсоров по всему СНГ. Каждый юнит шлёт по 1-100 (плюс-минус) пакету данных. Вот и считай нагрузку. >>204395122>умные люди учат и используют rustВсегда найдётся тот, кто ТОЧНО ЗНАЕТ КАК НУЖНО ДЕЛАТЬ. О проблемах раста ты, видимо, не слышал? Да и не всегда нужно решать одновременно задачи всех сразу. Лекции я тебе читать не буду, иди гугли
>>204395491java. Но готовься к тому что будешь всю жизнь пилить корпоративное не нужное говно. Типа системы электронного документооборота
>>204395422идиот, я как раз про втой код говорю, у тебя ссанина переоптимизированная.ты не синьер, ты джун или стажер.вот читаемое решениеconst result = {adults: data.filter(({age})=>age>=18).map(({id})=>id).reverse(),minors: data.filter(({age})=>age<18).map(({id})=>id).reverse()}мимо Джуниор JS
>>204395491JavaScript. Пара месяцев и сможешь так же как этот ( >>204395003 )срать под себя называя всех вокруг дебилами и называть себя ПРОГРАММИСТОМ
Программирую второй месяц, сильно не хуесосьте плз.https://pastebin.com/9B57c5ZkЗапустить тут можно если что: https://www.tutorialspoint.com/execute_elixir_online.php
>>204395839Пиздец. Какой же ты даун. Просто слов нет. Зачем ты эту хуйню наворотил? Я бы тебя уволил за такой код если бы на ревью увидел.
>>204395762идиот, я тебе говорю у тебя нечитаемый код, твой код хорш если будет 100000 элементовно никак не на 6.ты не синьер, ты джуниор
>>204396839>О, атолловский сканер?Ага, нужно много (ну хз, много или нет, но штук 250) сканеров незадорого, а то simbol совсем совесть потерял с ценами. А тут зебровский сканирующий модуль, и все за 24к. Сейчас допилю свой ведройдософт, и все это будет взаимодействовать с самопальным rest который будет работать с самопальной erp.
>>204391376двачую что он на реакте пишет, джуна на ректе обычно умней чем синьер выблядки на vue и простом Js
>>204397236Блэт, та же история. Правда я их по 18 брал оптом. Адекватные железки.>все это будет взаимодействовать с самопальным rest который будет работать с самопальной erp.Бро, тебе просто инвентаризацию надо пилить, или с маркировкой работаешь?
>>204398135сука, везет тебе, хорошее рабочее место.мне еще ниразу не удавалось так сидеть, либо взади кто-то пялится в монитор, либо опенспейс.
>>204398239Да он просто далек от этой темы. А мне оно уже весь мозг выело. Тоже самое делаю, что и ты - андроидософт, прослойка с рест интерфейсом, ерп, да еще и территориально разделенное аж на несколько стран.
>>204398203Я так понял, что за 18 там китайский ноунэйм в сканирующем модуле, а за 24 стоит нормальный зебровский. Кстати а ты не заказывал с 3г эти сканеры, а то на сайте опция такая указана, а в реальности нефига не видел.
>>204398315Аааа.. бля..Два чая тебе, брателло. Она самая, ей и занимаюсь. Честный ебаный знак, чтобы этим пидорам всю жизнь икалось.Чтобы у них хер на пятке вырос, чтоб как ссать, так разуваться. Как их система и работает, не через рест, а через жопа-интерфейс.У тебя фейкомыло есть, пару вопросов задать?Ты лекарства или ботинки маркируешь?
>>204398502Сначала взял пару на пробу, а там внезапно оказалась зебра. Я аж сам удивился, и тут же прикупил еще партию.Но это я еще в прошлом году затарился.Насчет мобильного инета не проверял, пока не до этого было. Но там же и так какой-то модуль уже есть? И кажется он и так 3г, а отдельной опцией идет 4г. Надо будет подробнее этот вопрос посмотреть.
>>204389933 (OP)using System;using System.Collections.Generic;using System.IO;using System.Text;using System.Linq;using System.Runtime.Serialization;using System.Runtime.Serialization.Json;namespace _2ch{ class Program { [DataContract] internal class Person { [DataMember] internal int id; [DataMember] internal string name; [DataMember] internal int age; } [DataContract] internal class Res { [DataMember] internal IEnumerable<int> minors; [DataMember] internal IEnumerable<int> adults; } static void Main(string[] args) { string sJSON=@"[ {""id"":1,""name"":""Андрей"", ""age"": 11}, {""id"":2,""name"":""Иван"", ""age"": 14}, {""id"":3,""name"":""Петр"", ""age"": 13}, {""id"":4,""name"":""Сергей"", ""age"": 90}, {""id"":5,""name"":""Марина"", ""age"": 24},]"; Console.WriteLine(sJSON); MemoryStream stream1=new MemoryStream(Encoding.UTF8.GetBytes(sJSON)); DataContractJsonSerializer ser1 = new DataContractJsonSerializer(typeof(Person[])); Person[] myPersons=(Person[])ser1.ReadObject(stream1); Res myRes=new Res(); myRes.minors=myPersons.Where(p=> p.age<18).Select(r=> r.id); myRes.adults=myPersons.Where(p=> p.age>=18).Select(r=> r.id); DataContractJsonSerializer ser2 = new DataContractJsonSerializer(typeof(Res)); MemoryStream stream2=new MemoryStream(); ser2.WriteObject(stream2,myRes); string sRes = Encoding.UTF8.GetString(stream2.GetBuffer()); Console.WriteLine(sRes); } }}
>>204398837myRes.minors=myPersons.Where(p=> p.age<18).Select(r=> r.id);myRes.adults=myPersons.Where(p=> p.age>=18).Select(r=> r.id);
ФунциАнальщик в тредеa|> Enum.group_by(fn p -> if p.age >= 18, do: :adults, else: :minors end)|> Enum.map(fn {k, v} -> {k, v |> Enum.map(&(&1.id))} end)
>>204398802Это троллинг или такое говно реально существует?тут ребата кидали решения в 2-3 строки, а у тебя около 50 , пиздец говно язык.
>>204398994Задача смепить 6 элементов, зачем тут думать о скорости то?Тут нужно думать о красоте кода.for не красивый, map красивый
>>2043990632-3 строки без обвязки. json надо получить, распсарсить, вернуть новый. Сам алгоритм что тут в 2 строки, что там
>>204399122Откуда инфо про 6 элементов? Задача обычно ставится в общем.Если нет, то почему не подходит решение >>204390485 ??
>>204399363Ну если я буду знать что там будет 10000000 элементов я уже не возьму ни for не map, хуйну вставку на WASMэто будет не красиво, но быстро.
>>204399417Ты че ебобо?Нахуя тебе 3 генсервера?Я бы твои PRы не принимал вообще никогда.Кроме тех, где ты в README пишешь, что сосешь хуи.
>>2043899330Ради интереса сделал на том языке, который сейчас изучаю (то есть на джаве).Пока писал, думал что ошибся с выбором и надо бы освоить вместо этого nodejs + react, потому что писать на джаве - ебануться можно. Я видел кучу вакансий с ней, но она кому-нибудь реально нужна с таким избыточным синтаксисом?Через stream пробовал сделать, упёрся в то что вывод потока надо раздвоить. По идее, можно накапливать в .reduce() промежуточный результат, однако тип накопителя должен совпадать с элементами потока (в этом примере хотелось бы сделать накопитель массивом или хэшмепом с двумя полями).
>>204399991https://ru.wikipedia.org/wiki/KISS_(%D0%BF%D1%80%D0%B8%D0%BD%D1%86%D0%B8%D0%BF)https://ru.wikipedia.org/wiki/%D0%A1%D0%B8%D0%BD%D0%B4%D1%80%D0%BE%D0%BC_%D0%BD%D0%B5%D0%BF%D1%80%D0%B8%D1%8F%D1%82%D0%B8%D1%8F_%D1%87%D1%83%D0%B6%D0%BE%D0%B9_%D1%80%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B8
>>204389933 (OP)а как вам такое?data.inject(Hash.new {|h, k| h[k] = [] }) {|mem, h| mem[h[:age] >= 18 ? :adults : :minors] << h[:id]; mem }
>>204399274Добавление происходит не по ключам :adults, :minors, а по true/false, которые означают больше или меньше возраст.Я правда неебу, как потом будет выглядеть монструозная конструкция переименовывания ключей в этом языке.
var dict = new Dictionary<string, List<int>>() { {"adults", new List<int>() }, {"minors", new List<int>() } }; foreach (var obj in array) dict[obj.age < 18 ? "minors" : "adults"].Add(obj.id);
>>204391291>>204391554>>204391804>>204392029>>204392694>>204394512ну и говнокодеры, надеюсь это была ирония. а это уже код макак, с запредельной омегой:>>204391622>>204391707>>204392057normal lad's пишут хорошо:>>204391892>>204392180>>204392196мимо >>204404518
>>204400458Зачем ты с каждой итерацией присваиваешь свойство объекта если это можно сделать вначале массива?
function normalize(arr) { let result = { minors: [], adults: [] }; mock.map(x => x.age >= 18 ? result.adults.push(x.id) : result.minors.push(x.id)); return result;}
>>204404901с редьюсом любой даун сделает.Просили сделать читаемый код.const result = {adults: data.filter(({age})=>age>=18).map(({id})=>id).reverse(),minors: data.filter(({age})=>age<18).map(({id})=>id).reverse()}
>>204405588Дополню: не надо только кукарекать что код исполняется долго, моментально.если бы задача стояла сделать с 100000 элементами, я бы сделал с редьюсом
>>204405588тут все дауны, которые даже не могут в адекватный нейминг. сахар я использую, потому что могу.можно взять примитивные конструкции, но только нахуй ненужно. нету такой проблемы. так что сасай-кудасай
Pythonage_groups = { 'minors': [], 'adults': [],}for people in peoples: age_type = 'minors' if people['age'] >= 18 else 'adults' age_groups[age_type].append(people.id)
>>204405930быстрофиксage_groups = { 'minors': [], 'adults': [],}for people in peoples: age_type = 'minors' if people['age'] >= 18 else 'adults' age_groups[age_type].append(people.id)
>>204407336Вы тупые блять? я знаю, но читаемость кода выше.Долбаебы несут в JS самый оптимизированный вариант в убыток читаемости, не понимают что есть участки кода, где можно пробежаться 2 раза(не потеряем по производительности), но сохранить читаемость.кто-то тут писал что for нужно использовать. (нахуй сразу идет)
язык Swift, для гейяблок:-------------------------------------import UIKitstruct Person: Decodable { var id: Int var name: String var age: Int}struct FilteredPersons { var minors = [Int]() var adults = [Int]()}let json = [["id": 1,"name":"Андрей", "age": 11], ["id": 2,"name":"Иван", "age": 14], ["id": 3,"name":"Петр", "age": 13], ["id": 4,"name":"Сергей", "age": 90], ["id": 5,"name":"Марина", "age": 24]]let encodedJson = try! JSONSerialization.data(withJSONObject: json, options: .prettyPrinted)let persons = try! JSONDecoder().decode([Person].self, from: encodedJson)var result = FilteredPersons()persons.forEach { if $0.age < 18 { result.minors.append($0.id) } else { result.adults.append($0.id) }}print(result)-------------------------------------вЫвод консоли:FilteredPersons(minors: [1, 2, 3], adults: [4, 5])Кстати ищу работу, никому не нужен strong middle ios developer ?
mov cx, num_of_peoplexor bx, bxxor dx, dxcycle: mov ax, [first_man_age_addr + bx]test ax, F2hjz zero_flagpop axmov [first_adult_addr + ax], [first_man_id_addr + bx]add ax, offsetpush axjmp endzero_flag: mov [first_minor_addr + dx], [first_man_id_addr + bx]add dx, offsetend: add bx, offsetloop cyclestop
>>204413394Ну так ассемблер же, json как байт-массив рассматриваем. Обратно сделать json уже сложнее, да, готовых буферов запилить надо.
>лучший язык программированияа че не спросил, какой ногой лучше наступать при ходьбе? каким глазом моргать лучше?
сразу видно тут одни js дауны и python школьники. Поссал на васreturn MakeMeFeelGood(fuckingInputJSON);
>>204390526Даже у меня блять Паскаль хуйло ебанное, если ты застрял в своем маня мире в подвале ДС, то иди нахуй
>>204392093ну хуй знает. мне 20, вкатился жс макакой достаточно легко, на работу сами позвали, особенно на удалёнку было много предложений. зп 65к, Воронеж
>>204390526На самом деле Паскаль не такой уж и плохой язык для обучения программированию.Пайтон довольно хитровыебанный и не совсем подходит для того, что бы на нём вкатываться в программирование.
>>204389933 (OP)$people = @( @{id = 1; name = "Андрей"; age = 11}, @{id = 2; name = "Иван"; age = 14}, @{id = 3; name = "Петр"; age = 13}, @{id = 4; name = "Сергей"; age = 90}, @{id = 5; name = "Марина"; age = 24})$result = @{ adults = ($people.GetEnumerator() | ?{ $_.age -ge 18 }).id minors = ($people.GetEnumerator() | ?{ $_.age -lt 18 }).id}
Раз уж пошел такой тред, не нужен кому сисадмин без трудовой, но с опытом работы с линуксом и вообще юникс системами, в качестве эникея?
>>204419202java c# всегда будет херой кодсамый лучший код у rust и js//fix let mut result = data.transform(el=>&(id,age)=>{minors&m:id, adults&a:id});
>>204413186сука, 16 битные регистры... мама миа...>mov [first_adult_addr + ax], [first_man_id_addr + bx]давно в x86 завезли мув из памяти в память?
>>204419572js идеальный язык , что не так?Синтаксис божественный в новом EcmaScriptТы просто не в теме и для тебя JS остался таким который ты видел в 2005 году.Типизация? есть, через ts/flow
>>204389933 (OP)C#: var result = new { minors = input.Where(x => x.Age <18).Select(x => x.Id).ToArray(), adults = input.Where(x => x.Age >=18).Select(x => x.Id).ToArray(),};
Прочитал весь тред. Нихуя не понял. И никогда не понимал. Математику за 3 класс не могу сыну помочь. Как охуенно быть гуманитарием и нанимать вас за деньги. Это немного компенсирует мою ненависть ко всяким праграмированиям. мимо бохатый гуманитарий вовремя понявший что он слишком тупой для этой вашей хуйни
result.adults = data.Where(c => c.age >= 18).id.ToArray();result.minors = data.Where(c => c.age < 18).id.ToArray();C#Алсо minors можно получить с помощью left join но с мобилу мне влом думать
какого хуя вы не трете эту ебанашку, мочеры? в тематику же, алло, это уебище каждый день создает эти треды. зарепортил
>>204422080Это odin ass? Почему они не добавили алиасы Новая, Новое, раз уж решили делать язык на русском?
>>204422692> вместо линейного сложения переход в умножение с делениемА потом удивляются, хули сраный одностраничник лагает на core i5
Ремарка, я даже толком верстать не умею. И даже не вкачусь скорее на позицию trainee. const people = [ { id: 1, name: "Андрей", age: 11 }, { id: 2, name: "Иван", age: 14 }, { id: 3, name: "Петр", age: 13 }, { id: 4, name: "Сергей", age: 90 }, { id: 5, name: "Марина", age: 24 },];const adults = people.filter(function(dvach) { return dvach.age >= 18;})const minors = people.filter(function(dvach) { return dvach.age <= 17;})const result = { adults, minors }console.log(result)все работает.
>>204423190Я понял, почему двощеры пишут ответы на яваскрипте.Потому что массив в нём уже является JSON'ом, и его не нужно никак парсить и запаковывать.
сука как же с вами не скучно "пидоры". я не про двух селюков - шизофреников. один из которых вечно съебывается а влетает второму. нет, я про хикк натуралов.
>>204423190Ну я даже так скажу, пацанва. Я даже себя пофикшу, сделаю это функцией. Так будет пизже. const regroupPeople = (arr) => { const adults = arr.filter(function(dvach) { return dvach.age >= 18; }) const minors = arr.filter(function(dvach) { return dvach.age <= 17; }) const result = { adults, minors } return result}console.log(regroupPeople(people))
>>204391291Хорошее решение, написано функционально. Мьютабельные маньки по типу >>204404518 рвутся очень не слабо.
>>204395491Ну хули, сгенерил кастомный анмаршлер, ебанул хуйни назвал все файлы мейн потому что каждый для меня важен, ну а хули, один хуя я безработный
>>204425456Только шарперам не говорил что это 4 плюса а не решетка а то я сдохну если каждый раз заходя к ним в кабинет они не будут мне кидать полотенце под ноги
>>204425672Да я когда к ним хату залетаю обязательно значится "здравствуйте господа арестанты, тут новая малява от начальства, кляузнячать будете потом, топайте баланду жрать, товаришь томбовский волк опять сломал ваше приложение, будьте так любезны починить" боюсь что если буду как то по другому они сломаются, там ебучие ебангилисты сидят, дрочат на свои мелкософтовские бестпрактисы
>>204425771> товаришь томбовский волк опять сломал ваше приложение, будьте так любезны починить"Лол, так и есть в основном
>>204425841Конечно так и есть, что я пиздеть буду?Благо не мне ваши мыслительные изыскания ревьювить, бог дал вам ооп а вы кажется перепутали его с гердосом, и сука по больше бы нахуярить да так чтобы два сука разных объекта даже сука близко не похожих, свинья и залупа, реализовывали один абстрактный класс хуйня с кожей а потом удивляетесь почему при дрочки свиньи она звуки не те издает
-[--->+<]>-------.>--[----->+<]>-.[--->+<]>-.+[->+++<]>.+++++++++++++.[-->+++++<]>+++.++[->+++<]>+.++++++++.-..-------------.-[->+++<]>.++[->+++<]>+.++.[->++++++<]>.+[->+++<]>.--[--->+<]>-.--[->++++<]>+.----------.++++++.-[---->+<]>+++.---[->++++<]>+.-----.>++++++++++.+++[->++++++<]>.>--[----->+<]>-.[--->+<]>-.+[->+++<]>.+++++++++++++.[-->+++++<]>+++.++[->+++<]>+.++++++++.-..-------------.-[->+++<]>.++[--->++<]>.-------.[--->+<]>---.[---->+<]>+++.--[->++++<]>+.----------.++++++.-[---->+<]>+++.+[->+++<]>+.+++++++++++.++++++++.---------.>++++++++++.+++[->++++++<]>.>--[----->+<]>-.[--->+<]>-.+[->+++<]>.+++++++++++++.[-->+++++<]>+++.++[->+++<]>+.++++++++.-..-------------.-[->+++<]>.---[----->++<]>.+++.-------.-[->+++++<]>-.[->+++<]>+.--[--->+<]>---.---.++++++.-------.----------.-[--->+<]>-.[->+++<]>+.+++++++++++++.----------.-[--->+<]>-.+[->+++<]>+.+.[--->+<]>----.++++[->+++<]>.+++++++++++++.++.[---->+<]>+++.--[->++++<]>+.----------.++++++.>++++++++++.+++[->++++++<]>.>--[----->+<]>-.[--->+<]>-.+[->+++<]>.+++++++++++++.[-->+++++<]>+++.++[->+++<]>+.++++++++.-..-------------.-[->+++<]>.+[----->+<]>.------------.++++++++++.------.--[--->+<]>-.--[->++++<]>+.----------.++++++.-[---->+<]>+++.+[->+++<]>.-[--->+<]>----.+++++++.>++++++++++.+++[->++++++<]>.>--[----->+<]>-.[--->+<]>-.+[->+++<]>.+++++++++++++.[-->+++++<]>+++.++[->+++<]>+.++++++++.-..-------------.-[->+++<]>.---[->++++<]>-.++[->+++<]>++.+[--->+<]>+++.-[---->+<]>++.++[->+++<]>+.++++++++..-----------.--.[--->+<]>+++.--[->+++<]>.>++++++++++.+++[->++++++<]>.>--[----->+<]>-.[--->+<]>-.+[->+++<]>.+++++++++++++.[-->+++++<]>+++.++[->+++<]>+.++++++++.-..-------------.-[->+++<]>.---[->++++<]>.+++[->+++<]>.+++++++..[++>---<]>--.[->+++<]>+.-[->+++<]>.++[--->++<]>.---.----.--[--->+<]>-.[->+++<]>+.+++++++++++++.----------.-[--->+<]>-.-[--->++<]>--.[--->+<]>---.---.++.[---->+<]>+++.--[->++++<]>+.----------.++++++.
>>204426808Они никогда не сдавался, никогда не опускал рук, настоящий мужчина, 0111001001101001011000110110101100100000011000010111001101110100011011000110010101111001 бы им гордился
>Давайте наконец выясним в каком языке программирования самая лучшая читаемость, гибкость>Есть некий JSONЭт как же по нему определить-то, если каждый язык используется НЕ ТОЛЬКО ЛИШЬ для обработки JSON.Это как "давайте определим лучший язык для того, чтобы записать значение в регистр" или "а давайте определим лучший язык для моей CUDA".Кстати, почему никто не любит while и все прутся от for?
class Program { const string Source = "[{id:1,name:\"Андрей\", age: 11},{id:2,name:\"Иван\", age: 14},{id:3,name:\"Петр\", age: 13},{id:4,name:\"Сергей\", age: 90},{id:5,name:\"Марина\", age: 24},]"; static void Main(string[] args) { var data = JsonConvert.DeserializeObject<Person[]>(Source); var result = new { Minors = data.Where(x => x.Age < 18).Select(x => x.Id), Adults = data.Where(y => y.Age >= 18).Select(y => y.Id) }; Console.WriteLine(JsonConvert.SerializeObject(result)); } class Person { public int Id { get; set; } public int Age { get; set; } } }
>>204389933 (OP)>самая лучшая читаемостьphp> гибкостьC ASSEMBLER NAAHUIАлсо, за тебя чмоху только школьцы работать будут, сам пиши либо ДЕНЬГИ МНЕ ПЛАТИ БЛЯТЬ
ID: 'minors' SKULL-OWNER: 'Бумеры' NAME: '&f &f『&2&lБумеры &6|&2&l опхуй&f』' LORE: - '&f&l Open POSITION-X: 1 POSITION-Y: 1ID: 'adults' SKULL-OWNER: 'Зумеры' NAME: '&f &f『&2&lЗумеры &6|&2&lопхуй&f』' LORE: - '&f&l Open POSITION-X: 1 POSITION-Y: 2Так норм ? Разделил Бумеров и Зумеров в ГУИ меню
>>204394550То есть, если напишу маленькими - это будут protected, private и еще какое-нибудь? Ебануться нахуй в этом вашем мирке блять
>>204413351Знаешь английский - https://itunes.apple.com/ru/book-series/swift-programming-series/id888896989?mt=11Не знаешь английский - https://swiftbook.ru/content/swift-tour/guide-tour/или если есть 1к рублей https://www.ozon.ru/context/detail/id/159759961/
Тред не читалconst data = [ {id:1,name:"Андрей", age: 11}, {id:2,name:"Иван", age: 14}, {id:3,name:"Петр", age: 13}, {id:4,name:"Сергей", age: 90}, {id:5,name:"Марина", age: 24},];console.log(data.reduce((res, curr) => curr.age >= 18 ? {...res, adult: [...res.adult, curr.id]} : {...res, minor: [...res.minor, curr.id]}, {minor: [], adult: []}));cons
>>204391145не работает >>204391707не возвращает подсчет по условиям задачиС ваших попыток наебать аудиторию проиграл
c#пер врывается в тредvar result = JsonConvert .DeserializeAnonymousType(str, new[] {new {id = 0, name = "", age = 0}}) .GroupBy(x => x.age < 18 ? "minors" : "adults", x => x.id) .ToDictionary(x => x.Key, x => x.ToArray());Console.WriteLine(JsonConvert.SerializeObject(result));В условии про сортировку в результирующих списках ничего не было сказано, поэтому не сортирую.
Подведем небольшой итог.В треде хуева туча js макак и c# пидоров, пара джавистов, один брейнфакер, один перловик, несколько питонистов, один свифтер, пара пхп и 1-2 го. О чем это нам говорит?
>>204436199Как мы знаем, на дваче собираются самые долбаебы и если они предпочитают жс, то это конченый язык.
>>204389933 (OP)result = {'minors':[],'adults':[]}for i in data: if i['age']>18: result['adults'].append(i['id']) else: result['minors'].append(i['id'])