169 похожих чатов

Ребята подскажите пожалуйста, как мне в переменную сохранить знак действия?

допустим
let b = 5
let c = 6
if (msg.payload == "up") { let work = +}
let a = b work c

11 ответов

5 просмотров

Как строку "+", "-"...

Dmitriy-Batin Автор вопроса
Nick
Как строку "+", "-"...

ок попробую, но вроде в ошибку вываливался код

А зачем его хранить в переменной?

Dmitriy-Batin Автор вопроса
Dmitriy Batin
ок попробую, но вроде в ошибку вываливался код

b work c конечно ошибка будет, свич/кейс надо

Dmitriy-Batin Автор вопроса

https://ru.wikipedia.org/wiki/%D0%9F%D1%80%D0%BE%D0%B1%D0%BB%D0%B5%D0%BC%D0%B0_XY_(%D0%9E%D1%88%D0%B8%D0%B1%D0%BA%D0%B0_%D0%BC%D0%BE%D0%BB%D0%BE%D1%82%D0%BA%D0%B0)

class Operations { static add(a,b) { return a+b; } ...и так далее } const OPERATION_MAPPER = { 'up': (a,b) => Operations.add, 'down': (a,b) => Operations.diff, 'left': (a,b) => Operations.multiple, 'right': (a,b) => Operations.divide, } const DEFAULT OPERATION = Operations.add; ..... let b = 5; let c = 6; let operation = OPERATION_MAPPER[msg.payload) ?? DEFAULT_OPERATION; let a = operation(b,c);

Dmitriy-Batin Автор вопроса

Е-мае... И все это ради того, чтобы блин управлять действиями в коде

Dmitriy Batin
Е-мае... И все это ради того, чтобы блин управлять...

Ты смотри не на объем а на сложность и насколько легко его расширять(дополнять) Маленький код !== лучший код Как и большой код !== лучший Если тебе понадобится потом еще какая-то операция, условно в степень вознести или еще что-то Все что тебе надо будет, это добавить единственную строчку в OPERATION_MAPPER не трогая вообще логику основную и ничего не меняя в коде, лишь добавляя по строчке (по функции) В месте где операции применяются тебе вообще не надо вникать и читать что там за оперейшн маппер, и как там все работает. Ты читаешь только логику которая тебе нужна. Берется два числа, берется операция по пейлоаду и выполняется. Каким макаром та операция берётся, что за операция это дело второе, если тебе надо детали, ты будешь знать куда лезть их смотреть и меньше тратить времени на то, что-бы разобраться потом в коде через долгое время

Dmitriy-Batin Автор вопроса
Bohdan Bida 🇺🇦
Ты смотри не на объем а на сложность и насколько л...

Да, пришло понимание - большое спасибо. Я вот уже который раз смотрю в сторону освоения классов, просто пока не вижу как их практически использовать при обработке данных ( hex, десятичные, двоичные, строки.

Похожие вопросы

Обсуждают сегодня

я не магистр хаскеля, но разве не может лейзи тип конвертнуться в не-лейзи запросив вычисление содержимого прям при инициализации?
deadgnom32 λ madao
76
читать файл максимально быстро? странный вопрос))
zamtmn
53
How to create an OS in C? what to study?
Linus
18
Всем доброго вечера! Хочу поделиться своим злоключением с человеком, который, как оказалось сюда тоже скидывал свое резюме. Жаль, что я вашу группу не нашел раньше… человек ки...
Роман Ахмедзянов
4
тоесть, указав return eax, сгенерируется никому ненужная инструкция mov eax,eax ?
Aiwan \ (•◡•) / _bot
24
Компания Elif ищет менеджера проектов, который будет заниматься поиском и ведением новых проектов. Прежде чем приступить к работе, вам нужно пройти наш недельный курс, где вы ...
Elif
5
Привет, кто может сделать юзербота с апи? Задачи: - создавать группы - создавать каналы - задавать для созданных каналов аватарку или эмоджи, имя группы - добавлять в группы...
Lencore
11
а зачем этот вопрос для удаления из чата?
Mёdkinson Medvezhkin
63
@HemulGM Параметры у AddStream поменялись? Несостыковка какая-то
Катерина Свиридова
12
Народ, с прошедшими и наступающими. Ща полную ересь прогоню, но фишка в том, что это не обычная алкогольная ересь Либера, а я реально хз что делать. Сайт с 2012-го года Косяк...
Alexey Liber
2
Карта сайта