Mellory
нет, именно консоль браузера, пытаюсь из нее получить доступ к экземпляру класса, а он его не видит
Mellory
1) создание экземпляра "anyLetter" класса A 2) Ошибка при попытке получения доступа к anyLetter (не видит ее)
Mellory
Maksim Pozharskiy
1) создание экземпляра "anyLetter" класса A 2) Ошибка при попытке получения доступа к anyLetter (не видит ее)
Я не уверен, но это может быть потому что let ограничено блоком в плане видимости, из глобальной зоны видимости не видна (из консоли). Можно проверить заменив на var - если тогда пояится, то скорее всего я прав
Ga
так нельзя так обращаться, если эьот класс не лежит в window
Ga
тебе этот класс надо запихать в window
Ga
Как раз таки все из-за области видимости
Maksim Pozharskiy
этот вариант уже рассматривала и нет, совершенно не в этом причина
При использовании модулей переменные определяются внутри области видимости модуля, а не в глобальной
Ga
Все верно, если хочешь глобально получать запихай в window
Ga
window.[название] = new anyLetter()
Ga
и ты сможешь обращаться к нему как window.[название] и вызывать любые методы
Maksim Pozharskiy
как именно это можно сделать?
Но вообще так лучше не делать если модули используешь
Maksim Pozharskiy
Если надо вывести что то в консоль - пиши в файле-модуле прямо
Mellory
аа, все, логика понятна, спасибо огромное!
Mellory
Если надо вывести что то в консоль - пиши в файле-модуле прямо
это да, просто сама этимология ошибки была не понятна
Mellory
а так, лучше через консоль не тестить
Ga
Просто браузер не имеет доступа к внутренностям модулей
Ga
и они все как изолированные функции экспортируются, как раз для избежания конфликтов
Ga
(()=>{ })()
Maksim Pozharskiy
это да, просто сама этимология ошибки была не понятна
По поводу этимологии ошибки - почему reference error? Мы вроде как знаем что let видна только в своей области видимости где объявлена. Но на самом деле когда код интерпретируется, то все объявения let переносятся в начало кода. Получается она как бы есть, но еще не объявлена и значения нет, поэтому у нас ошибка которая говорит что мы пытаемся получить доступ к переменной которая еще не объявлена Вот тут подробней про эту мертвую зону: https://developer.mozilla.org/ru/docs/Web/JavaScript/Reference/Statements/let#:~:text=%D0%92%20%D1%81%D1%82%D0%B0%D0%BD%D0%B4%D0%B0%D1%80%D1%82%D0%B5%20ECMAScript,%D0%B7%D0%BD%D0%B0%D1%87%D0%B5%D0%BD%D0%B8%D0%B5%20undefined)
Mellory
хорошо, а как открыть допустим до самого класса в модуле? что бы в консоли можно было прописать создание экземпляра этого класса?
АДовыйРАЙ
/
Maksim Pozharskiy
хорошо, а как открыть допустим до самого класса в модуле? что бы в консоли можно было прописать создание экземпляра этого класса?
Если класс создан в модуле - его не создать через консоль, потому что доступа к классу не получить из консоли
Maksim Pozharskiy
Только если как выше показывали - добавить в глобальную видимость в объект window
Mellory
а есть ли возможность взаимодействия с несколькими файлами, а так же импорт/экспорт,без использования модулей (я не нашла к сожалению такой вариант)
Maksim Pozharskiy
Не, импорт и экспорт подразумевает что используется модули
Mellory
хорошо, спасибо большое, что все объяснили)
Mellory
в действительности не ожидала таких проф ответов и знаний, по достаточно небольшой теме, с учетом того что в просторах инета информацию вообще не смогла найти
Maksim Pozharskiy
тут это всё есть https://developer.mozilla.org/
Arina
Добрый день, подскажите как реализовать следующую систему: На сайте есть головоломка, кто первый правильно напишет ответ в окно - получает приз. Как сделать, чтобы нельзя было из кода выудить правильный ответ? Например хранить слово на каком-то отдельном сервере и как-то по особенному на него ссылаться или зашифровать?
Igor
Преобразовать массив таким образом, чтобы в первой его половине располагались элементы, стоявшие в четных позициях, а во второй половине — элементы, стоявшие в нечетных позициях.
Кстати если потребовать память О(1) ... то квадратом можно решить алгоритмом похожим на инсершн сорт ... но если потребовать еще и сложность О(Н) ... то тогда получается прикольная задача. Можно переставлять по цилу . но таких циклов может быть несколько. Сколько их и как их найти без доп памяти. Прям выглядит как какая то классика по алгоритмам. Но я с ходу не знаю и гугл ничего тоже не дал. ;)
Arina
Надо крч добитьсч такого уровня, чтобы решить ее было проще, чем что-то взламывать
Arina
Из базы данных уже я так понимаю нереально будет достать без особых навыков? Это вообще реально?)
Igor
Давайте начнем с "кто первый" ... на сайте ... по любому есть бэк. А он решает все эти проблемы
Иаков
Народ... Что-то я не догоняю.. Я тут решил на кодварсе размяться, по совету Роберта Мартина. https://www.codewars.com/kata/550498447451fbbd7600041c/train/csharp вот ката.. Значит, тесты проходит, но тесты: 1a, 8 не проходят... 5 тест тоже не проходит, но тут все ясно... А с другими не понятно..
Иаков
Иаков
Иаков
Иаков
Шурок
Какой же кайф
Шурок
Тесты без кода
Шурок
Ммммммммм
Maksim Pozharskiy
Тесты без кода
а что тебе по результату не видно какой код
Шурок
Ну мой магический шар говорит что ошибка в коде
Шурок
С тебя 500$
Maksim Pozharskiy
значит там вывод в консоль
Иаков
Тесты без кода
Я думаю, тут код не важен... По той причине, что абсурдность 8 и 1а тестов.. одни и теже входные данные, но разный вывод. Чтож, сейчас код предоставлю
Иаков
https://pastebin.com/zsycvXBH код
Иаков
значит там вывод в консоль
Нет, это я добавил вывод, чтобы посмотреть, что не так, при каких входных данных ошибка
Шурок
Я не шарю bool existsSame = Array.Exists(a, aCurrent => { if (aCurrent == Math.Sqrt(bCurrent) && (aCurrent != bCurrent)) { return true; } return false; }); А сколько раз этот код отработает?
Иаков
Я не шарю bool existsSame = Array.Exists(a, aCurrent => { if (aCurrent == Math.Sqrt(bCurrent) && (aCurrent != bCurrent)) { return true; } return false; }); А сколько раз этот код отработает?
Ну, отрабатывает до тех пор, пока не найдет для корня bCurrent равное число из a массива и так для всего b... Если хоть для одного корня из bCurrent нет числа в a, то возвращает false и цикл прерывается, возвращается false
Иаков
Пацаны, отмена... Я косяк, руина.. Крч, в методе, где я вывожу массив, я вывожу индексы, а не вейлу... Вот и не могу понять, что там...
Иаков
Вот что там рили
Шурок
Не по пацански
Шурок
Я не Мартин.
Самое забавное - я ему месяцев 4 назад давал задачи на cw решать..
Иаков
Я не Мартин.
Вай биля((
Иаков
Самое забавное - я ему месяцев 4 назад давал задачи на cw решать..
Да, было дело.. Ахаха, а потом я перестал решать и много всего интересного произошло.. Сейчас я пытаюсь снова в разработку вернуться, я полтора месяца не кодил... Чет прям не оч хотелось и настроения не было
Igor
https://pastebin.com/zsycvXBH код
Просто интересно откуда такие решения выплывают ... ну и каждый раз понимаю как же больно после питона писать на любом языке ;( уж сори на шарпах я такое писать не буду ;) но суть такова: def comp(a1, a2): if a1 is None or a2 is None or len(a1) != len(a2): return False return all(a*a == b for a,b in zip(sorted(a1, key= lambda x: abs(x)), sorted(a2))) посортить массивы и сравнить. причем первый массив сортировать по модулю
Иаков
А что ты делал за это время?
Лежал.. Втыкал в потолок.. Играл, смотрел аниме.. Прокрастинировал и ничего не делал
Иаков
сколько тайтлов посмотрел?
Не так уж и много.. Скорее, парочку, вроде...
Igor
все значения из а есть в б и наоборот ( с учетом возведения в квадрат) ... но эти массивы по условию не равны.