Программирование на языке Ruby
На нашем литературном портале можно бесплатно читать книгу Программирование на языке Ruby, Фултон Хэл-- . Жанр: Программирование. Онлайн библиотека дает возможность прочитать весь текст и даже без регистрации и СМС подтверждения на нашем литературном портале bazaknig.info.
Название: Программирование на языке Ruby
Автор: Фултон Хэл
Дата добавления: 16 январь 2020
Количество просмотров: 832
Программирование на языке Ruby читать книгу онлайн
Программирование на языке Ruby - читать бесплатно онлайн , автор Фултон Хэл
Ruby — относительно новый объектно-ориентированный язык, разработанный Юкихиро Мацумото в 1995 году и позаимствовавший некоторые особенности у языков LISP, Smalltalk, Perl, CLU и других. Язык активно развивается и применяется в самых разных областях: от системного администрирования до разработки сложных динамических сайтов. Книга является полноценным руководством по Ruby — ее можно использовать и как учебник, и как справочник, и как сборник ответов на вопросы типа «как сделать то или иное в Ruby». В ней приведено свыше 400 примеров, разбитых по различным аспектам программирования, и к которым автор дает обстоятельные комментарии. Издание предназначено для программистов самого широкого круга и самой разной квалификации, желающих научиться качественно и профессионально работать на Ruby.
Внимание! Книга может содержать контент только для совершеннолетних. Для несовершеннолетних чтение данного контента СТРОГО ЗАПРЕЩЕНО! Если в книге присутствует наличие пропаганды ЛГБТ и другого, запрещенного контента - просьба написать на почту [email protected] для удаления материала
Перейти на страницу:
layout_options = LAYOUT_SIDE_TOP | FRAME_NONE | LAYOUT_FILL_X | LAYOUT_FILL_Y | РАСK_UNIFORM_WIDTH layout = FXHorizontalFrame.new(self, layout_options) options = FRAME_RAISED | FRAME_THICK | LAYOUT_RIGHT | LAYOUT_CENTER_Y hide_btn = FXButton.new(layout, "&Hide", nil, nil, 0, options) hide_btn.connect(SEL_COMMAND) { hide } end def text @text_field.text endendclass ModalDialogBox < FXDialogBox def initialize(owner) # Сначала вызвать инициализатор базового класса. super(owner, "Test of Dialog Box", DECOR_TITLE|DECOR_BORDER) text_options = JUSTIFY_RIGHT | FRAME_SUNKEN | FRAME_THICK | LAYOUT_SIDE_TOP @text_field = FXTextField.new(self, 20, nil, 0, text_options) @text_field.text = "" layout.options = LAYOUT_SIDE_TOP | FRAME_NONE | LAYOUT_FILL_X | LAYOUT_FILL_Y | PACK_UNIFORM_WIDTH layout = FXHorizontalFrame.new(self, layout_options) options = FRAME_RAISED | FRAME_THICK | LAYOUT_RIGHT | LAYOUT_CENTER_Y cancel_btn = FXButton.new(layout, "&Cancel", nil, self, 0, options) cancel_btn.connect(SEL_COMMAND) do app.stopModal(self, 0) hide end accept_btn = FXButton.new(layout, "&Accept", nil, self, 0, options) accept_btn.connect(SEL_COMMAND) do app.stopModal(self, 1) hide end end def text @text_field.text endendclass DialogTestWindow < FXMainWindow def initialize(app) # Сначала инициализировать базовый класс. super(app, "Dialog Test", nil, nil, DECOR_ALL, 0, 0, 400, 200) layout_options = LAYOUT_SIDE_TOP | FRAME_NONE | LAYOUT_FILL_X | LAYOUT_FILL_Y | PACK_UNIFORM_WIDTH layout = FXHorizontalFrame.new(self, layout_options) button_options = FRAME_RAISED | FRAME_THICK | LAYOUT_CENTER_X | LAYOUT_CENTER_Y nonmodal_btn = FXButton.new(layout, "&Non-Modal Dialog...", nil, nil, 0, button_options) nonmodal_btn.connect(SEL_COMMAND) do @non_modal_dialоg.show(PLACEMENT_OWNER) end modal_btn = FXButton.new(layout, "&Modal Dialog...", nil, nil, 0, button_options) modal_btn.connect(SEL_COMMAND) do dialog = ModalDialogBox.new(self) if dialog.execute(PLACEMENT_OWNER) == 1 puts dialog.text end end getApp.addTimeout(1000, method(:onTimer)) @non_modal_dialog = NonModalDialogBox.new(self) end def onTimer(sender, sel, ptr) text = @non_modal_dialog.text unless text == @previous @previous = text puts @previous end getApp.addTimeout(1000, method(:onTimer)) end def create super show(PLACEMENT_SСREEN) endendapplication = FXApp.newDialogTestWindow.new(application)application.createapplication.runПеред началом длинного вычисления в FXRuby следует заменить текущий курсор курсором ожидания, а по завершении восстановить исходный. В классе
FXAppbeginWaitCursorendWaitCursorbeginWaitCursorendWaitCursor
Перейти на страницу:
