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

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

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

11 ответов

20 просмотров

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

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

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

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

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

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

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, десятичные, двоичные, строки.

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

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

а через ESC-код ?
Alexey Kulakov
29
30500 за редактор? )
Владимир
47
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
13
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
program test; {$mode delphi} procedure proc(v: int32); overload; begin end; procedure proc(v: int64); overload; begin end; var x: uint64; begin proc(x); end. Уж не знаю...
notme
6
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
вы делали что-то подобное и как? может есть либы готовые? увидел картинку нокода, где всё линиями соединено и стало интересно попробовать то же в ddl на lua сделать. решил с ч...
Victor
8
Ребят в СИ можно реализовать ООП?
Николай
33
Подскажите пожалуйста, как в CustomDrawCell(Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean); получить наз...
A Z
7
Карта сайта