Size: a a a

2020 April 21

РЭ

Ришат Э in RubyRush
Привет, кто подскажет, пишу телеграм бот на руби, как можно вынести логику , чтобы избавиться от if else if при получении комманды ? В строго типизирован языке C# я бы наверное сделал через цепочку ответственных,  в руби это нормальный вариант ? Может кто-то может дать ссылку на реализацию своего  руби бота
источник

SU

Serg Udo in RubyRush
Ришат Э
Привет, кто подскажет, пишу телеграм бот на руби, как можно вынести логику , чтобы избавиться от if else if при получении комманды ? В строго типизирован языке C# я бы наверное сделал через цепочку ответственных,  в руби это нормальный вариант ? Может кто-то может дать ссылку на реализацию своего  руби бота
Есть ещё один, но я его не тестил.  https://github.com/SergUdo/telegram_bot_for_weather_forecast
источник

VV

Vadim Venediktov in RubyRush
Ришат Э
Привет, кто подскажет, пишу телеграм бот на руби, как можно вынести логику , чтобы избавиться от if else if при получении комманды ? В строго типизирован языке C# я бы наверное сделал через цепочку ответственных,  в руби это нормальный вариант ? Может кто-то может дать ссылку на реализацию своего  руби бота
Лет зе код ток, как говорится, то есть покажите код, если есть.

Если нет, то лучше через if-elsif-else, чем без кода вообще :)
источник
2020 April 22

H

Henadzi in RubyRush
Ришат Э
Привет, кто подскажет, пишу телеграм бот на руби, как можно вынести логику , чтобы избавиться от if else if при получении комманды ? В строго типизирован языке C# я бы наверное сделал через цепочку ответственных,  в руби это нормальный вариант ? Может кто-то может дать ссылку на реализацию своего  руби бота
Видел, через case команды дергают
источник

Д

Денис in RubyRush
Ришат Э
Привет, кто подскажет, пишу телеграм бот на руби, как можно вынести логику , чтобы избавиться от if else if при получении комманды ? В строго типизирован языке C# я бы наверное сделал через цепочку ответственных,  в руби это нормальный вариант ? Может кто-то может дать ссылку на реализацию своего  руби бота
Если по учебникам, то от кучи if -ов принято избавляться через case + полиморфизм. Можем пойти дальше и засунуть   в hash процедуры или лямбды. Как итог лучшим решением будет скрестить оба варианта.
источник

in RubyRush
приветствую, подскажите что делать, в пути файла после "\" буква окрашивается в другой цвет и исчезает из пути файла (т.е не может найти директорию) и так что в VSC, что в сублайме
источник

S

SundayNight in RubyRush
приветствую, подскажите что делать, в пути файла после "\" буква окрашивается в другой цвет и исчезает из пути файла (т.е не может найти директорию) и так что в VSC, что в сублайме
1. Перестать использовать кавычки - переменной в строке нет
2. Экранироватть
3. Вынести путь в переменную

зачем точка перед кавычкой?
для чтения файла можно было сделать File.read
источник

in RubyRush
точка должна быть внутри, ошибся
источник

Д

Денис in RubyRush
приветствую, подскажите что делать, в пути файла после "\" буква окрашивается в другой цвет и исчезает из пути файла (т.е не может найти директорию) и так что в VSC, что в сублайме
нужно \\  ставить за место \ в двойных кавычках
источник

in RubyRush
Денис
нужно \\  ставить за место \ в двойных кавычках
помогло, спасибо.
источник

in RubyRush
SundayNight
1. Перестать использовать кавычки - переменной в строке нет
2. Экранироватть
3. Вынести путь в переменную

зачем точка перед кавычкой?
для чтения файла можно было сделать File.read
Спасибо за подсказку про переменную, так удобнее
источник

S

SundayNight in RubyRush
кавычки замени на ' и убери экранирование
источник

AA

Andrey Anikin in RubyRush
Сегодняшний Коммерсант про оценку сокращений в IT

https://www.kommersant.ru/doc/4327837
источник

E

Eugene in RubyRush
Ришат Э
Привет, кто подскажет, пишу телеграм бот на руби, как можно вынести логику , чтобы избавиться от if else if при получении комманды ? В строго типизирован языке C# я бы наверное сделал через цепочку ответственных,  в руби это нормальный вариант ? Может кто-то может дать ссылку на реализацию своего  руби бота
Набрал в гугле c# telegram bot, открыл первую ссылку: https://github.com/TelegramBots/Telegram.Bot.Examples/blob/d4caf0ce2cce8b4fbc21c862c3e050ab206f0d95/Telegram.Bot.Examples.Polling/Program.cs#L82

Через switch делают. Типизация никак к делу не относится.

Прямым аналогом в Ruby является оператор case: https://ruby-doc.org/docs/keywords/1.9/Object.html#method-i-case
источник

РЭ

Ришат Э in RubyRush
Да я уже сделал на руби без свич и if else хотя не скажу, что мой велосипед оказался лучше
источник

РЭ

Ришат Э in RubyRush
Eugene
Набрал в гугле c# telegram bot, открыл первую ссылку: https://github.com/TelegramBots/Telegram.Bot.Examples/blob/d4caf0ce2cce8b4fbc21c862c3e050ab206f0d95/Telegram.Bot.Examples.Polling/Program.cs#L82

Через switch делают. Типизация никак к делу не относится.

Прямым аналогом в Ruby является оператор case: https://ruby-doc.org/docs/keywords/1.9/Object.html#method-i-case
ну и это пример очень плохого кода
источник

M

Michael in RubyRush
Ришат Э
Привет, кто подскажет, пишу телеграм бот на руби, как можно вынести логику , чтобы избавиться от if else if при получении комманды ? В строго типизирован языке C# я бы наверное сделал через цепочку ответственных,  в руби это нормальный вариант ? Может кто-то может дать ссылку на реализацию своего  руби бота
Что такое «цепочка ответственных»?
источник

M

Michael in RubyRush
иногда без switch-case никуда,
главное свести его использование к минимуму
например, только на начальном этапе разбора сырых строк
источник

E

Eugene in RubyRush
Ришат Э
ну и это пример очень плохого кода
ну покажите пример очень хорошего, можно прокомментировать будет что на Ruby аналогом будет
источник

VV

Vadim Venediktov in RubyRush
приветствую, подскажите что делать, в пути файла после "\" буква окрашивается в другой цвет и исчезает из пути файла (т.е не может найти директорию) и так что в VSC, что в сублайме
Слеши не в ту сторону
источник