ладно. Так значит Вы согласны, что выкидывая исключение Вы поступаете не как программист? (шутка, конечно же) Я понимаю, что реально Вы не знаете, как правильно поступать с дубликатами полей. Я тоже. Кто-нибудь знает?
@Stack @DmitriySimushev var a = {"foo":"bar", "3": "3", "2":"2", "1":"1"}; for(var i in a) { console.log(i); }; - внезапно выдает 1 2 3 foo, и в Chrome, и в Edge
@PashaPash "тогда сохраняет (текущая реализация). но может перестать сохранять" -- в вопросе ru.stackoverflow.com/q/487160/196972 нет имен-чисел. если ТС столкнется с проблемой в новой версии, если она пояится, то он задаст новый вопрос. а мы будем отвечать на вопросы по мере их поступления.
@PashaPash это выше уже упоминалось. В ES6 порядок определили: сначала число-ключи (которые конвертятся в строки и назад без изменений) в порядке возрастания чисел, а потом строки в порядке вставки и символы в порядке вставки.
@PashaPash "это как Dictionary в C#. никому ничего не должен" -- если это вопрос, то отвечаю: посмотрите на текст вопроса. там дан пример. того что есть, и что ТС хочет получить.
@PashaPash "сюрпризом для тех, кто попытается использовать код из вашего вопроса к своему json" -- ну ТС ответ принял. а другие - кто они? и почему они бездумно используют код? :)
@Stack у вас какой-то странное понимание целей SO. по вашему, суть вопросов и ответом на SO - это быстро дать ответ, устроивший топикастера, и пусть остальные страдают?
@PashaPash "ответ же должен быть применим только в конкретном случае" -- ответ должен отвечать на вопрос. а как там будет дальше - можно долго фантазировать. но надо ли это? :)
@Stack т.е. нет смысла возвращаться к старым популярным вопросам, нет смысла оговаривать хитрые случаи - т.к. ответ дается только ради решения проблемы топикастера?
@Stack т.е. не надо писать развернутые вопросы, которые окажутся полезными не только топикастеру, но и остальным посетителям? главное галку схватить, так?
@PashaPash " т.е. между дать полноценный и развернутый ответ и "посоветовать костыль" вы выбираете "костыль" :)" -- нет. я отвечаю на вопрос. вы считаете что у вас ответы идеальны? а, если найду? :)
@Stack важнее, чтобы ответ работал для широкого круга пользователей, чем для ТС. Ему-то ваше решение может и подходит. А все остальные зайдут за «сортировкой объекта» и просто скопируют. И получат баги.
Именно поэтому ценно иметь возможность посмотреть на баланс плюсов/минусов по ответу. Чтобы понять, скольким людям решение навредило. (Ну и гневные комментарии тоже _наше всё.)
@Vlad плохим ответам вообще тут не место. Но Вы же понимаете, я это все пишу с целью уменьшить количество закрываемых вопросов под предлогом, что коня сферического такой вопрос не интересует.
@NickVolynkin про дубликаты ключей: в объекте их быть НЕ может, но в литеральной записи могут; сначала это проворонили, и в ES3 было разрешено, потом ввели ES5 и в strict-режиме это стало запрещено... а потом вышел ES6, где появились вычисляемые ключи, и.. стало снова разрешено :D последнее значение затирает предыдущее
@NickVolynkin "верность ответа для всех является несравненно более важной, чем его верность для конкретного случая велосипедостроения." -- ок. как сериализовать в JSON объект, чтобы свойства были написаны в определенном порядке?
@Stack интересы ТС, как это ни печально, на втором месте — он не оплачивает труд отвечающих и работу сайта. А оплачивает её масса приходящих разработчиков с помощью того, что пользуется частью сайта, посвящённой поиску работы. Именно на доходы от этой части живут разработчики и машут кулерами сервера Stack Exchange.
@Nofate "частенько" -- и вы видите только один идеальный ответ да? :) а я на enSO вижу много ответов. и выбирают бывает не тот, что набрал больше всего плюсов, а тот, который нужен мне
И для отвечающих эта масса прихдящих разработчиков приоритетнее — их просто больше. Они и репутации больше дают, и больше пользы создают, используя предлагаемые решения.
@NickVolynkin "интересы ТС, как это ни печально, на втором месте — он не оплачивает труд отвечающих. А оплачивает его масса приходящих разработчиков" -- про оплату труда отвечающих расскажите подробнее.
@NickVolynkin, а наш труд (если это можно так назвать) вообще никто не оплачивает. Я так понимаю, что все мы собрались исключительно для получения удовольствия (причем бесплатно)
@avp ну в форме очков репутации и удовлетворения от помощи коллегам гораздо больше наград можно получить как раз от широкого круга читателей, чем от одного ТС
@PashaPash "нет" -- что и требовалось доказать. ответы нужны разные. а не один "идеальный". но это почему-то некоторые не понимают. говорят "удали ответ", "исправь вопрос", "а вот тут не полное цитирование документации" и т.д. :)
@Stack не понимают - потому что начинают ныть "почему вы запостили ответ к вопросу, где уже был мой ответ". "зачем вы пришли через 10 дней и начали читать комментарии!".
@PashaPash "зачем вы пришли через 10 дней и начали читать комментарии!" -- вы забыли. не так было. пришли через десять дней и вместо того, чтобы написать ТС, что так и так правильно, некоторые начинают писать замечания.
@PashaPash "и они имеют на это полное право. нет?" -- конечно нигде не написано, что замечания прохожим делать нельзя, и в жизни стараются не делать замечания, потому что знают что может прилететь табуретка. но в сети же все можно ;)
@Stack как бы be nice не просто так вынесено в справку. так что в реальной жизни можете хоть писать на прохожих, а тут постарайтесь вести себя прилично.
@PashaPash "т.е. вы заранее предупреждаете, что будете агрессивно реагировать" -- нет никакой агрессии. я очень добрый и спокойный. но вот те кто делает замечания могут привыкнуть и получится у них нехорошо.
@avp "Вам пишут замечания к ответу?" -- нет. пишут замечание на мой коммент про то что в .net есть интернированные строки. и видите ли я забыл написать "могут быть". и поэтому перешли на обсуждение качеств моей личности.
я ступил, извините. Я думал, что если удалю длинные строки, то программа станет меньше памяти занимать. кажется, я ошибся — Leonard BertoneJan 18 at 14:54
"если удалю длинные строки, то программа станет меньше памяти занимать" -- строки в .NET интернированы. почитайте тут — StackJan 18 at 16:31
@Stack интернированы по умолчанию только строковые литералы. В вашем ответе, кстати, об этом тоже было написано. — Pavel Mayorovyesterday
@Stack да-да, и ваш ответ «-- у вас не критика, а критиканство, которое нужно только вам. и я ее вообще не воспринимаю, но всегда отвечаю. это мне для практики нужно.»
@DmitriySimushev Я тоже так считаю. В C++, например, есть отдельная структура данных map и unsorted_map (вторая существенно быстрее). За дополнительные гарантии надо платить.
_" вот дошли до того, что делать замечания - нехорошо."_ -- я спрашиваю: какую проблему вы пытаетесь решить? напишите конкретно. а мне в ответ: "пытаюсь уточнить вашу формулировку." и т.д.
@NickVolynkin "да-да, и ваш ответ «-- у вас не критика, а критиканство," -- да это был ответ на фразу "вы, похоже, любую критику воспринимаете как оскорбление.".
@PavelMayorov "созданная в программе строка интернируется только явно" -- понятие явно относительное. например, если коллега в большом проекте в одном из внутренних методов вызовет интернирование, то явно только для него. пример в исходнике .NET Framework
@PashaPash "да, он пытался уточнить вашу формулировку" -- а смысл? :) кому нужно это уточнение в комментах? мало одной темы? ну создай еще одну, в чем проблема?
@DmitriySimushev А это формально и не хэшмап, это JS-объект. Со встроенными в язык типами вообще бывает непросто, мне особенно нравится описание array в PHP: This one datatype acts as a list, ordered hash, ordered set, sparse list, and occasionally some strange combination of those. How does it perform? What kind of memory use will there be? Who knows? Not like I have other options, anyway.
@PashaPash "знаете в чем фишка SO? в том, что не вам решать, нужно это уточнение, или нет" -- не вам решать что мне и с какой степень точности мне писать комменты.
@Stack послушайте, SO так устроен, что все ваши ответы и комментарии на виду. Если в них есть недочёты — на них будут указывать. Если есть ошибки — будут критиковать, обязательно. Вы не можете этого запретить. Если вас это не устраивает — вы можете не пользоваться SO. Пожалуйста, поймите это и воспринимайте критику спокойно. Если вы будете агрессивно реагировать на конструктивную критику — то нам придётся настоятельно рекомендовать вам отдых от SO.
@Stack ну вот на том и сойдемся. вы спрашивали "- а смысл? :) кому нужно это уточнение в комментах? мало одной темы? ну создай еще одну, в чем проблема?" - мне и еще нескольким участникам нужно это уточнение именно в комментах
@NickVolynkin "и сотням-тысячам других читателей нужно" -- все нужно разное. предлагаете просто копипастить текст c MSDN все что попадается под руку? :))))
@NickVolynkin "все ваши ответы и комментарии на виду. Если в них есть недочёты — на них будут указывать." -- какой смысл писать замечание, если можно написать свой правильный ответ? знаю одну причину. надо топить окружающих. потому что сделать замечание и поставить минус проще, чем написать ответ. вот некоторые делают то что могут :)
@Stack нет, так нельзя. Мы не будем закрывать глаза на ошибки или неточности. Не будем создавать новый такой же вопрос, когда можем исправить ошибку в существующем.
@PashaPash "ну вот и воздержитесь от решения о ненужности каких-то комментариев за других" -- а вы воздержитесь от оценок текстов других. знаете как правильно - так пишите ответ. и адресуйте его ТС.
@PashaPash " написали лажу - будьте готовы что вас в нее ткнут носом." -- спасибо что делитесь своим опытом. старайтесь писать так чтобы не тыкали носом.
@PashaPash "еще раз - не вам решать в каком виде я, или кто-то другой, будем указывать вам на технические неточности" -- вы эксперт? :)
@Stack да, я в некоторые дни вообще ничего не делаю кроме того что удаляю — спам, флуд, оскорбления. Ну пару комментов пишу. Такой труд тоже нужен. Он повышает общее качество содержимого сайта.
@D-side "вы только что запретили людям ставить плюсы с минусами?" -- воздержитесь - это не запрет. и я против минусов, которые ставят втихаря. толку от минусов нет. и от замечаний - тоже нет.
@Vlad я считаю да. участник, который активно пытается запретить остальным участникам исправлять технические ляпы и неоднозначные комменты - переходит грань
@NickVolynkin "Вы не можете запретить объективную критику ваших сообщений." -- где вы видели объективную критику? что критиковали, факт: в .NET строки интернированы. что тут критиковать? :))
@PashaPash "нет, я такой же участник как и вы. у вас есть право оставить коммент - у меня есть право оставить коммент" -- предлагаете устроить срач? :)
@PavelMayorov "созданная в программе строка интернируется только явно" -- понятие явно относительное. например, если коллега в большом проекте в одном из внутренних методов вызовет интернирование, то явно только для него. пример в исходнике .NET Framework
@D-side "Я намекаю на абсурдность сего высказывания." -- а я прямо говорю, что вместо замечаний/критики ... пишите свой правильный ответ. и адресуйте его ТС. а если ставите минус, то пишите причину. не согласны?
@PavelMayorov "понятие "явно" рассматривается исключительно с точки зрения среды исполнения" -- кем рассматривается? и какую проблему вы пытаетесь решить? напишите конкретно.
@avp Строковые литералы интернируются автоматически, всё остальное может быть интернировано явно, вызовом метода .Intern (который может вернуть не данную строку, а другую, равную ей).
@Stack нет, не согласен. вам ответили, что вкладывалось в слово "явно". "кем рассматривается" - тем, кто применил это слово в комменте, и у кого вы потребовали пояснения, что значит "явно"
@Stack вы не занимаетесь делом. вы зачем-то оспариваете право остальных критиковать ваши ответы и комментарии.
@PashaPash "нет, не согласен. вам ответили, что вкладывалось в слово "явно" -- и что? я тоже ответил и дал ссылку где есть вызов String.Intern -- в исходниках .NET Framework
@PashaPash "вы не занимаетесь делом. вы зачем-то оспариваете право остальных критиковать ваши ответы и комментарии." -- не опариваю. просто говорю что это тупо. и если будут мне писать в таком духе, то будет GIGO.
@Stack минусами каждый имеет право распоряжаться как хочет. Я их использую, как средство улучшения ответов путём мотивации их авторов. Непосредственная часть этого -- указание слабых мест в ответе, что обычно получается критикой или может быть воспринято, как таковая.
@PashaPash "например, не надо предлагать остальным завести отдельный ответ, вместо того чтобы указать на неточность в ответе" -- т.е. мне говорят, а я не могу ответить? :)
@Stack тут всего два варианта. или вам никто не говорит что делать, и вы никому не говорите что делать. или мы меняем правила SO, вы получаете право сказать остальным "не пиши коммент, запость ответ".
@Stack "указание слабых мест" как правило имеет форму комментария. Только не всегда автор минуса и автор комментария совпадают. Зачем писать одно и то же по нескольку раз?
@D-side "Зачем писать одно и то же по нескольку раз?" -- так многие не понимают с первого раза. надо повторять. где-то было что надо 19 раз повторов, чтобы поняли.
@PashaPash " тут всего два варианта. или вам никто не говорит что делать, и вы никому не говорите что делать." -- мне не говорят что делать и я им в ответ не говорю что делать.
@Stack, это все уже не конструктивно. Вы можете все и против (или за) Вас могут все. Реально же никто тут ничего (кроме как забанить, но это тоже ерунда) не может. Так перестаньте пререкаться.
@avp "Вы можете все и против (или за) Вас могут все." -- хорошо. мне сказли - я ответил. мне еще сказали я отвечу. или мне нельзя отвечать? :)
@PashaPash "странно, вам же никто и не говорил что делать. уточнили кусок текста в комментарии." -- а дальше мне сказали вот это "вы, похоже, любую критику воспринимаете как оскорбление."
@avp "можно. Если Вам это доставляет удовольствие можете смело продолжать." -- я просто наблюда до какой степени бреда могу дойти аргументы.
@PashaPash "но нет, вы продолжаете объяснять всем остальным, что они должны делать, а что - нет" -- это вы продолжаете. вчера понаписали chat.stackexchange.com/rooms/34983/… думал все. а вот и нет. но у меня много попкорна. так что пишите, я постараюсь ответить.
@PashaPash "т.е. вы считает просьбу следовать be nice бредом?" -- речь не об этом. а о переходе на личности в этой фразе "вы, похоже, любую критику воспринимаете как оскорбление."
@Nofate "19 минусов и один комментарий, думаю, будут понятны" -- мне 12 минусов поставили на enSO :) был вопрос о SQL и я привел пример на C# -- думал, что он объясняте что мне надо сделать на C#, но .... пришлось вопрос удалить.
@PashaPash это все было после моего: и какую проблему вы пытаетесь решить? напишите конкретно. получили ответ от PavelMayorov "пытаюсь уточнить вашу формулировку."
@PashaPash "потому что...вам это не нравится! :)" -- не надоело за меня писать свои фантазии? :)
в связи с дискуссией под этим вопросом: где найти заземление
понятно, что вопросы про arduino, касающиеся программной части — это «онтопик».
а как насчёт вопросов про arduino, касающихся «железной» части?
проголосуйте, пожалуйста, за один из ответов.
также относится к теме обсуждения:
К...
@AlexKrass "Чет у Вас тут непонятный спор." -- я в одном из коментов пропустил "могут быть" chat.stackexchange.com/transcript/message/27169493#27169493 и вот это мы обсуждаем второй день :) но на самоме деле проблема в переходе на личности в этой фразе "вы, похоже, любую критику воспринимаете как оскорбление."
@AlexKrass "уже перестали сами понимать о чем ведете речь XD" -- а я давное не понимаю, почему тут очень-очень переживают из-за каких-то незнакомых новичков и о их мыслях которые у них могут появиться. вот "вы, как специалист высокого уровня, не можете не представлять последствия того, что вы можете не угадать и вложить в мозги новичка мысль" chat.stackexchange.com/transcript/message/27168642#27168642 :)
Бросайте это, критиковать могут все и вся, комментарии это позволяют. Как бы с критикой можно согласиться, можно не согласиться, можно проигнорировать или отказаться от обсуждения - ваше право. Чирканул пару строк и забыл.
Любой человек, даже гур своего дела, не застрахован от ошибок, в том числе фатальных. Вопрос лишь в том, как скоро вы это заметите.
@AlexKrass " Как бы с критикой можно согласиться, можно не согласиться, можно проигнорировать или отказаться от обсуждения - ваше право. Чирканул пару строк и забыл" -- ок. но мне не дают забыть. изучают мои комменты, пишут расследования. зовут обсудить. вот chat.stackexchange.com/rooms/34983/…
@AlexKrass "Любой человек, даже гур своего дела, не застрахован от ошибок, в том числе фатальных." -- так и есть. но мне не нравится когда переходят на личности как в этой фразе "вы, похоже, любую критику воспринимаете как оскорбление."
Ну да, субъективные оценки так себе занятие - ну написали бы, что не любую и человек оставил свое мнение при себе об этом и конец истории. У меня тут вообще целая эпопея с переходом на личности была: ru.stackoverflow.com/questions/485964/…
@PashaPash "ну как бы все этому следуют. кроме одного участника. о том и флейм" -- вот смотрите как все начинается. покажу на живом примере. только слова заменю. итак: "у вас ник PashaPash. именно это написал вам. Если вы с этим согласны - прекращение спор. Если не согласны - обоснуйте. То, что вы начали - это не конструктивный спор с придиранием к словам". не знаете кто автор этого шедевра? :)
@PashaPash вот еще. вы утверждаете, что строки в .NET интернированы. но "Фраза "строки в .NET интернированы" может быть понята как "все строки в .NET интернированы", что неправда.". почему вы пишете неточно? уточните свой коммент. -- не знаете кто автор этого шедевра? :)
@Stack он указл вам на неточность в формулировке комментария, которая может быть воспринята новичком как "все строки в .net интернированы, и привести к неверным выводам
вот мое утверждение. с ним согласна пачка участников.
@PashaPash лучше объясните эту фразу: вы, как специалист высокого уровня, не можете не представлять последствия того, что вы можете не угадать и вложить в мозги новичка мысль, что в .net память из под строк вообще не освобождается (потому что они интернированы!).
@Stack он указл вам на неточность в формулировке комментария, которая может быть воспринята новичком как "все строки в .net интернированы, и привести к неверным выводам
раз уж вы решили разбирать фразы по одной - давайте по одной
@PashaPash "потому что имею право." -- на что? почему вы не заметили переход на личности? и что вам не нравится в этом ответе ru.stackoverflow.com/a/479064/196972 ?