Comments 42
Упорно выдает
Не смотря на
menu.rb:1:in `require': no such file to load -- Tk (LoadError)
from menu.rb:1
Не смотря на
apt-get install ruby1.8-full tk libtcltk-ruby
Хм, сейчас посмотрю.
Заработало когда поменял
Убунтоводы будьте внимательны :)
require 'Tk'
на require 'tk'
Убунтоводы будьте внимательны :)
Да, только что попробовал под убунтой это дело. Вы совершенно правы, дело в регистре импортируемой библиотеки. Другое дело, что виндовоз не жаловался.
А виндовз же, вроде как, регистры в именах файлов не различает, ему что tk что TK, что tK по барабану.
Самому виндовозу да. И интерпретатору, соответственно, тоже.
Не совсем. Просто ruby 1.9.x для Windows допускает ошибки в написании имени библиотеки. На всех остальных платформах, увы, придется писать 'tk' как в мануале :(.
Мм… Можно поинтересоваться, что вы имели ввиду под «совершает ошибки». Каким образом?
Можно. Require опосредовано использует имя файла. Файловая система Windows case-insensitive — можно ошибиться в заглавных / строчных буквах и это будет работать. Соответственно, начиная с Ruby 1.9 под Windows если вы ошиблись в заглавной/строчной букве в строке, которую передаете в require, то это будет работать. На всех остальных операционных системах — не будет. Более подробно про это написано в инструкции к Ruby.
Прошу прощения за то, что ввёл вас в некоторое заблуждение по поводу регистра имени импортируемой библиотеки. Через несколько часов внесу правки.
Даже не знаю, что вам сказать. У меня всё работает.
Внёс правку по поводу импорта.
На Tk можно писать нативно выглядящие интерфейсы?
Зачем использовать Tk если есть Qt?
В начале топика писал. Qt биндинги еще не установил. Плюс Tk входит в стандартную поставку Ruby. Выбор был очевиден. На следующей неделе будет статья, посвященная связке Ruby/Qt.
Зачем использовать Qt, если есть macruby?
Всё-таки это разные вещи:
MacRuby — это реализация Ruby. Да, с неплохим интерфейсом, но всё же в первую очередь это реализация языка программирования.
Qt — фреймворк, позволяющий писать кроссплатформенные приложения.
Вопрос должен стоять так: Зачем использовать Qt, если есть Cocoa?
Ответ: Напишите на Cocoa для Windows и запустите попробуйте, а я тем временем напишу тоже самое на Qt и запущу, как на Winе, так и на Linuxе и MacOSe.
MacRuby — это реализация Ruby. Да, с неплохим интерфейсом, но всё же в первую очередь это реализация языка программирования.
Qt — фреймворк, позволяющий писать кроссплатформенные приложения.
Вопрос должен стоять так: Зачем использовать Qt, если есть Cocoa?
Ответ: Напишите на Cocoa для Windows и запустите попробуйте, а я тем временем напишу тоже самое на Qt и запущу, как на Winе, так и на Linuxе и MacOSe.
Кто вообще будет писать десктопное приложение на рубях, тем более используя через одно место реализованный qt-ruby? Ещё и кроссплатформенное. Какое-то рассуждение о сферическом коне в вакууме.
Затем что Tk интегрирован в MRI Ruby, затем, что позволяет делать быстрые и лёгкие интерфейсы.
Когда вам не нужен красивый, вылизанный интерфейс, а нужно сделать его быстро и без граблей.
Когда вам не нужен красивый, вылизанный интерфейс, а нужно сделать его быстро и без граблей.
Qt требует установки конечным пользователем, Tk идет в комплекте. Если программы используются кем-то кроме разработчика, то имеет смысл минимизировать внешние зависимости. В целом небольшому кругу народа можно объяснить как сделать «gem install qtbindings», написать инструкцию что делать если оно не ставится и отвечать на e-mail вида «не ставится qtbindings, ошибка internal gem error».
Я считаю, что в этой сфере нужно писать на Qt (в отличие от Tk быстро развивается, имеет большое и хорошее сообщество и т.д.). Применительно к сегодняшней практике с Tk. Выбор был обусловлен, как я уже говорил, поставкой вместе с Ruby. Всё затевалось, как «just for fun», в котором Tk отработал на 100%.
Спасибо за хорошую статью!
Не удержался:
Астрологи провозгласили месяц Tk.
Прирост статей о Tk увеличен вдвое.
Не удержался:
Астрологи провозгласили месяц Tk.
Прирост статей о Tk увеличен вдвое.
С нетерпением ждем qt-ruby.
Я точно видел «Введение в Ruby/Tk. Часть вторая».
Куда оно делось?
Куда оно делось?
Да, вы могли её видеть. Убрал на некоторое время в черновики затем, чтобы добавить материал по теме и исправить ошибки. Завтра вечером думаю выложу.
habrahabr.ru/blogs/ruby/134361 — вот. Во вкладках на ноуте осталась. Я думал, у меня что-то с головой.
Хвала Аллаху, на линуксе никто никогда не делает то, что ему кажется правильным.
Суспенд, он и в Африке суспенд.
Как раз почитаю, может поумнею.
Хвала Аллаху, на линуксе никто никогда не делает то, что ему кажется правильным.
Суспенд, он и в Африке суспенд.
Как раз почитаю, может поумнею.
Sign up to leave a comment.
Введение в Ruby/Tk. Часть первая