View Single Post
Old 03-16-2018, 05:57 AM   #24
Randy11
Wizard
Randy11 ought to be getting tired of karma fortunes by now.Randy11 ought to be getting tired of karma fortunes by now.Randy11 ought to be getting tired of karma fortunes by now.Randy11 ought to be getting tired of karma fortunes by now.Randy11 ought to be getting tired of karma fortunes by now.Randy11 ought to be getting tired of karma fortunes by now.Randy11 ought to be getting tired of karma fortunes by now.Randy11 ought to be getting tired of karma fortunes by now.Randy11 ought to be getting tired of karma fortunes by now.Randy11 ought to be getting tired of karma fortunes by now.Randy11 ought to be getting tired of karma fortunes by now.
 
Posts: 1,138
Karma: 1577094
Join Date: Oct 2008
Device: Samsung EB60, Onyx M92, Onyx Max2
@Sogaiu :

Roughly, with a Max2 I can forget to take my netbook every time. Yes, it can't replace a computer, but when the aim is to study a book like Effective testing with Rspec-3, small power is enough. My old netbook is a ASUS EEE PC 1001px with only 2 cores and 2 GB of RAM. With an external keyboard, for occasional and small tests it will be sufficient.

For the GUI, the package for Debian is 'ruby-tcltk', but the 'gem' exists too.

A small example from A First (Real) Example :
Code:
require 'tk'
require 'tkextlib/tile'

root = TkRoot.new {title "Feet to Meters"}
content = Tk::Tile::Frame.new(root) {padding "3 3 12 12"}.grid( :sticky => 'nsew')
TkGrid.columnconfigure root, 0, :weight => 1; TkGrid.rowconfigure root, 0, :weight => 1

$feet = TkVariable.new; $meters = TkVariable.new
f = Tk::Tile::Entry.new(content) {width 7; textvariable $feet}.grid( :column => 2, :row => 1, :sticky => 'we' )
Tk::Tile::Label.new(content) {textvariable $meters}.grid( :column => 2, :row => 2, :sticky => 'we');
Tk::Tile::Button.new(content) {text 'Calculate'; command {calculate}}.grid( :column => 3, :row => 3, :sticky => 'w')

Tk::Tile::Label.new(content) {text 'feet'}.grid( :column => 3, :row => 1, :sticky => 'w')
Tk::Tile::Label.new(content) {text 'is equivalent to'}.grid( :column => 1, :row => 2, :sticky => 'e')
Tk::Tile::Label.new(content) {text 'meters'}.grid( :column => 3, :row => 2, :sticky => 'w')

TkWinfo.children(content).each {|w| TkGrid.configure w, :padx => 5, :pady => 5}
f.focus
root.bind("Return") {calculate}

def calculate
  begin
     $meters.value = (0.3048*$feet*10000.0).round()/10000.0
  rescue
     $meters.value = ''
  end
end

Tk.mainloop
Randy11 is offline   Reply With Quote