Я использую грабли для получения и обработки данных.
Данные выглядят как "code:value"
, где каждый код соответствует определенному действию.
Например, "0xFE:0x47"
вызывает метод, соответствующий тегу 0xFE
с параметром 0x47
.
В целях масштабируемости я думаю, что это должно быть сопоставлено с хэшем и иметь методы, определенные ниже:
tags = Hash[0xFA => taskA, 0xFB => taskB, 0xFC => taskC]
def taskA(value)
...
end
def taskB(value)
...
end
def taskC(value)
...
end
затем, когда сообщение получено, выполните split
и вызовите метод для хеша, например:
tokens = message.split(':')
tags[tokens[0]](tokens[1])
Руби не нравится инициализация Hash
. Как правильно решить эту проблему?