Я закодировал бот IRI Ruby, который находится на github (/ ninjex/rubot), который имеет некоторый конфликтный вывод с MySQL на выделенном сервере, который я только что приобрел.Ошибка Ruby MySQL на разных серверах
Во-первых, у нас есть соединение с базой данных в папке MySQL (в .gitignore), которая похожа на следующий блок кода.
@con = Mysql.new('localhost', 'root', 'pword', 'db_name')
Тогда мы имеем реальную функцию для запроса базы данных
def db_query
que = get_message # Grabs query from user i.e,./db_query SELECT * FROM words
results = @con.query(que) # Send query through the connection i.e, @con.query("SELECT * FROM WORDS")
results.each {|x| chan_send(x)} # For each row returned, send it to the channel via
end
На моей локальной машине, при выполнении команды:
./db_query SELECT amount, user from words WHERE user = 'Bob' and word = 'hello'
Я получаю выход в IRC в a Array like fashion: ["17", "Bob"]
Где 17 - сумма, а Bob - пользователь.
Однако, используя эту же функцию на моем выделенных результатах сервера в выходе, как: 17Bob
я пытался много изменений в коде, а также попытаться проанализировать эти данные в своем собственные переменный, однако, кажется, что 17Bob
приходит как единую переменную, что делает невозможным синтаксический анализ в виде массива, который я мог бы использовать для правильной отправки данных.
Это кажется странным, как на моей локальной машине и выделенный сервер, как я ожидал, что выход на первый отправить 17 в IRC, а затем Боб, как:
17
Bob
Для всех функций и источника вы можете проверить мой github/Ninjex/rubot, однако вам может потребоваться установить некоторые драгоценные камни.
Я создал запрос на вытягивание, https://github.com/Ninjex/Rubot/pull/1, для вас, который предоставляет некоторые рубиновые идиомы, которые вы можете использовать для упрощения кода. Это не совсем по теме, но должно побудить вас изучить стандартную библиотеку еще немного. –
Да, большинство идиом, с которыми я не знаком с первым кодированием в Ruby. Я признаю, что начал этот проект, когда Ruby был для меня новичком, и я пришел из программирования, тяжелого в PHP. Я, однако, не знал, что Ruby не нуждается в ключевом слове return, nice. Спасибо за вашу помощь, я с нетерпением жду исправления большого количества лишнего кода и преобразования в mysql2 в эти выходные. – Singularity
Убей меня, если у тебя есть еще вопросы. Я был бы рад указать вам в правильном направлении. –