by

Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Activity
    tsukanov-as
    @tsukanov-as
    Хотя я идею давно не запускал, могу врать
    tsukanov-as
    @tsukanov-as
    А вот это я очень очень надеюсь что исправят:
    https://i.imgur.com/0TgGRCu.png
    Косяк во всех трех строчках, но подсвечена только одна. Более того в 6 строке вообще критичный баг который нужно красным светить.
    Sergey Batanov
    @dmpas
    не вижу косяка в строчке 8
    Vladislav Moroz
    @VladFrost
    И в шестой строчке тоже нет ошибки - вы можете сравнивать числа и строки.
    Infactum
    @Infactum
    @VladFrost тоже так подумал сначала, но Операции сравнения на больше-меньше допустимы только для значений совпадающих примитивных типов (Булево, Число, Строка, Дата)
    Антон Степанов
    @Stepa86
    Надо делать так
    сравнение = Новый СравнениеЗначений;
    рез = сравнение.Сравнить("123", 2);
    хотя не надо так делать
    Nikita Gryzlov
    @nixel2007
    На самом деле отдельный компаратор - это норма в других языках
    Антон Степанов
    @Stepa86
    строка почему то всегда больше числа. Любая строка больше любого числа
    Nikita Gryzlov
    @nixel2007
    С настройками сравнения, переопределением алгоритмов и прочей перегрузктй
    @Stepa86 а если сравнивать число со строкой? Тоже строка больше?
    Infactum
    @Infactum
    В общем то это же просто бич нетипизированых языков. Есть элементарные вещи, которых надо избегать)
    Антон Степанов
    @Stepa86
    @nixel2007
    сравнение = Новый СравнениеЗначений;
    Сообщить( "1." + сравнение.Сравнить(100, "2") );
    Сообщить( "2." + сравнение.Сравнить(100, "2000") );
    Сообщить( "3." + сравнение.Сравнить("2", 100) );
    Сообщить( "4." + сравнение.Сравнить("2", 400) );
    Сообщить( "5." + сравнение.Сравнить("2000", 100) );
    Сообщить( "6." + сравнение.Сравнить("2", "1") );
    Сообщить( "7." + сравнение.Сравнить(2, 1) );
    1.-1
    2.-1
    3.1
    4.1
    5.1
    6.1
    7.1
    я когда в первый раз увидел сравнитель - обрадовался, что можно свой как нить переопределить и подсовывать в метод коллекция Сортировать. А потом почитал. Нифига не понял, еще раз почитал. Опять нифига не понял. А теперь вообще не понимаю нафига он нужен
    tsukanov-as
    @tsukanov-as

    не вижу косяка в строчке 8

    Косяк в том, что по коду может быть не очевидно что хотел автор (сложить числа или строки). Конкатенацию вообще лучше избегать везде где возможно в промышленном коде имхо. А тут будет именно конкатенация.

    @Stepa86 Сравнение значений нужно для сортировки таблицы значений в первую очередь.
    Ибо по дефолту ссылки там очень неоптимально сортируются
    tsukanov-as
    @tsukanov-as

    строка почему то всегда больше числа. Любая строка больше любого числа

    По алфавиту, не? ))
    Ну а вообще в справке же написано: "Элементы, чьи типы не совпадают, сравниваются по коду типа"

    Semion
    @7OH
    А смысл такого компаратора ? Даже Ссылка1.Код > Ссылка2.Код займёт меньше места, чем данная конструкция. Я тоже не понял сакрального смысла этого объекта.
    tsukanov-as
    @tsukanov-as
    @7OH Для сортировки таблицы значений это нужно.
    В основном для оптимизации. Но возможно кому-то просто нужно чтоб цитата "по правилам, совпадающим с правилами сравнения значений в базе"
    Про сортировку таблиц ЕМНИП даже на эксперте спрашивают
    Sergey Batanov
    @dmpas
    смысл компаратора - при работе с ком-объектами, насколько я могу судить.
    tsukanov-as
    @tsukanov-as
    Еще одна печаль: https://i.imgur.com/zoPMi3u.png
    Ключи структуры EDT распознает только в наитупейшем линейном варианте. Вставка переносов ему уже непонятна
    Хотя вот так слава богу распознает: https://i.imgur.com/awUidBH.png
    tsukanov-as
    @tsukanov-as

    смысл компаратора - при работе с ком-объектами, насколько я могу судить.

    Вы меня троллите, да? ))

    Alexey Kostromin
    @alexkmbk
    аааа, я тоже хочу EDT
    tsukanov-as
    @tsukanov-as
    Более хитрозадые случаи тоже распознает: https://i.imgur.com/0rUFD7d.png
    Не идеально, но по сравнению с конфигуратором конечно очень круто
    tsukanov-as
    @tsukanov-as
    Думаю поколение EDT будет недоумевать как мы раньше в конфигураторе вообще что-то без ошибок могли написать )))
    Infactum
    @Infactum
    @tsukanov-as это только на простых примерах все работает более-менее хорошо. Скорми ему БСП и наверняка ситуация изменится.
    Нормально работающая подсказка для нетипизированных языков это почти фантастика. Вон сколько с JS бьются)
    tsukanov-as
    @tsukanov-as
    @Infactum Ну понятно что слабо, но хоть что-то.
    Насчет js хз как с подсказкой, но стат анализ там годный точно есть. Flow, например
    tsukanov-as
    @tsukanov-as
    Ну и с js ты конечно сравнил.... js гораздо сложнее чем 1с.
    Alexey Kostromin
    @alexkmbk
    Да в js все модули динамически подгружаются, например jquery, что делает стат. анализ малореальным, а еще в 1С значительная часть объектов типизирована - объекты метаданных, элементы форм созданные на этапе "компиляции".
    tsukanov-as
    @tsukanov-as
    Пробую писать на TS в VSC.
    Вот это я понимаю статический анализ в реальном времени. EDT нервно курит в сторонке )
    Alexey Sosnoviy
    @asosnoviy
    Ну ts таки типизированный =)
    Infactum
    @Infactum
    @tsukanov-as очередной вариант парсера, но уже на TS?
    tsukanov-as
    @tsukanov-as
    Пока не решил. Хотя переписывать парсер на разных языках довольно прикольно. Хороший способ узнать язык поближе и понять плюсы/минусы. Например на Lua я переписывал практически 1:1. Довольно полезный опыт получился )
    Alexey Sosnoviy
    @asosnoviy
    Хватит парсеров =) Компилятор пора
    tsukanov-as
    @tsukanov-as
    Ну я собираюсь компилер в JVM запилить )
    В методе уже разобрался осталось самую малость. Преодолеть лень и написать )
    Infactum
    @Infactum
    @tsukanov-as да.. где обещанный интерпретатор на java?
    tsukanov-as
    @tsukanov-as
    Не не. Это будет не интерпретатор. Это будет полноценный натив
    Alexey Sosnoviy
    @asosnoviy
    Вот это тру! =)
    tsukanov-as
    @tsukanov-as
    И написано будет на 1С. Только уж извиняйте на ангельском
    Alexey Sosnoviy
    @asosnoviy
    но оноже только язык может?
    tsukanov-as
    @tsukanov-as
    @asosnoviy Не понял
    Alexey Sosnoviy
    @asosnoviy
    без методов глобального контекста почти безполезно
    tsukanov-as
    @tsukanov-as
    @asosnoviy Ну методы глобального контекста как ни крути придется на жабе писать. Заставим @nixel2007 это сделать :D
    Nikita Gryzlov
    @nixel2007
    @Infactum написать их с нуля
    ЕМНИП коннектора c# -> java нет. только с плюсов/сей