![]() |
|
![]() ![]() ![]() |
|
freeneutron |
|
||||||||
![]() Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 18.7.2011 Репутация: нет Всего: нет |
Установил Ruby под ХР, разобрался с гемами, установил SciTE. Из последнего запускаю команду:
получаю:
потом, запускаю команду:
получаю:
Точно такая же ошибка возникает при установке ruby-usb и ribusb. Подскажите, пожалуйста, в чем проблема? |
||||||||
|
|||||||||
source777 |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1878 Регистрация: 12.3.2007 Репутация: 6 Всего: 56 |
Есть gem-пакеты, которые работают через native extensions, т.е. через системные библиотеки .so или .dll. Для установки таких gem-пакетов нужны соответствующие заголовочные файлы.
-------------------- Если бы программистам платили за то, чтобы убирать код из программы вместо того, чтобы добавлять его, программы были бы намного лучше © Николас Негропонте |
|||
|
||||
enRai |
|
|||
Новичок Профиль Группа: Участник Сообщений: 4 Регистрация: 1.12.2010 Репутация: нет Всего: нет |
руби в виндоус? как вы его там вообще запустили?
(сарказм) |
|||
|
||||
freeneutron |
|
||||
![]() Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 18.7.2011 Репутация: нет Всего: нет |
Да, Виндовс + заглюченная командная строка. Тем не менее, кое-что работает.
С данной проблемой я разобрался. Нужен был devkit и рабочий интерпретатор bat-файлов. Но как-то мало в сети информации на русском о native extensions. И совсем не понятно, брать ответы на такие вопросы как: Какие еще типы расширений используются в Ruby-сообществе? Как обстоят дела с переносом расширений на другую платформу? Это сообщение отредактировал(а) freeneutron - 23.7.2011, 10:32 |
||||
|
|||||
source777 |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1878 Регистрация: 12.3.2007 Репутация: 6 Всего: 56 |
А что именно интересует то? Чтобы их устанавливать никакой особой информации не нужно или ты сам собрался такие gem-пакеты писать? Не понял вопроса... Практически для любого, а особенно ярко это заметно для интерпретируемых, языка программирования есть 2 типа библиотек: pure название_языка и with native extensions. Первые пишутся исключительно на самом языке. А вторые используют системные библиотеки, чаще всего сишные. pure-ruby gems работают везде, где работает ruby. gems with native extensions работают везде, где работает ruby и используемые нативные библиотеки. -------------------- Если бы программистам платили за то, чтобы убирать код из программы вместо того, чтобы добавлять его, программы были бы намного лучше © Николас Негропонте |
|||
|
||||
freeneutron |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 18.7.2011 Репутация: нет Всего: нет |
Проблема с предидущей ошибкой вылечилась путем установки второй винды, так как в старой bat-файлы у меня по непонятной причине уже давно не запускаются.
Из всех гемов, предназначенных для работы с сериалпортом, у меня установился только serialport. И вот чего мне удалось от этого гема получить. Во-первых, я пытаюсь использовать этот скрипт. В нем я поправил значения констант SMSC и destination_number, заменил p = GSM.new(:debug => false) на p = GSM.new(:debug => false, :port => 'COM1') Потом запустил скрипт, а он повис. Висел до тех пор, пока я не нажал Ctrl+Break. Продолжив эксперименты, я выяснил, что повисание начинается со строки: cmd("AT") Если перед этой строкой я ставлю return, то повисание проходит, а скрипт, естественно, ни чего не делает. Почему я использовал :port => 'COM1'? ![]() Здесь видно, что этот порт используется системой. Так же видно, что системой используются порты COM20, COM21 и COM22. Когда я использую COM20, COM21 или COM22 вместо COM1, то скрипт заканчивается ошибкой такого плана: serialport.rb:16:in `create': Invalid argument - \\.\COM20 (Errno::EINVAL) Когда я использую имя свободного порта, например COM19, то ошибка такая: serialport.rb:16:in `create': No such file or directory - \\.\COM19 (Errno::ENOENT) В общем очередной тупик, как выходить из которого, я пока что понятия не имею. Это сообщение отредактировал(а) freeneutron - 26.7.2011, 17:16 |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Ruby: Общие вопросы" | |
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, source777. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Ruby: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |