[#11815] problems with DBM module — Eric Sven Ristad <ristad@...>
[#11822] RCR: Input XML support in the base Ruby — Dave Thomas <Dave@...>
Hi,
TAKAHASHI Masayoshi <maki@inac.co.jp> writes:
On Fri, 2 Mar 2001, Dave Thomas wrote:
David Alan Black <dblack@candle.superlink.net> writes:
[#11832] Re: RCR: Input XML support in the base Ruby — "Conrad Schneiker" <schneik@...>
Dave Thomas Wrote:
[#11868] Re: RCR: Input XML support in the base Ruby — "Mike Wilson" <wmwilson01@...>
Ok, first off I feel I am at least semi-intelligent
[#11876] Option to allow Python style indenting? — "chris" <nospam@6666666.com>
Don't know whether this discussion would be better here or on the email
[#11884] Re: Seeking Ruby/Tk sensei... — Kevin Smith <sent@...>
>Hal 9000 Fulton wrote:
[#11893] Re: rewrite with Ruby — ts <decoux@...>
>>>>> "M" == Max Ischenko <max@malva.com.ua> writes:
>>>>> "M" == Max Ischenko <max@malva.com.ua> writes:
I have a class where the initializer takes a filename
[#11915] Why I bought a second copy of The Book. — jfn@... (Jeremy Nelson)
It was the book that exposed me to ruby and caused me to absolutely fall
[#11960] Not Ruby, for me, for the moment at least — "Michael Kreuzer" <mkreuzer@... (nospam)>
I wrote on this newsgroup last weekend about how I was considering using
"Michael Kreuzer" <mkreuzer(nospam)@mail.usyd.edu.au> wrote in
[#11986] possible memory leak in GDBM/gdbm — Eric Sven Ristad <ristad@...>
The following program suggests there is a small memory leak in
[#12000] Re: Seeking Ruby/Tk sensei... — "Conrad Schneiker" <schneik@...>
Kevin Smith wrote:
[#12003] Re: How do I reach members from a Proc? — "Conrad Schneiker" <schneik@...>
Dave Thomas wrote:
[#12014] ANN: Memoize 0.1.2 — Robert Feldt <feldt@...>
Hi,
Robert Feldt <feldt@ce.chalmers.se> wrote in
[#12019] hooking/wrapping all of a classes methods — David Alan Black <dblack@...>
Hello --
[#12023] French RUG ? — "Jerome" <jeromg@...>
Hi fellow rubyers,
Tammo Freese <tammo.freese@offis.de> writes:
[#12048] Windows Installer questions — andy@... (Andrew Hunt)
[#12052] Re: RCR: shortcut for instance variable initialization — "Ben Tilly" <ben_tilly@...>
Dave Thomas <Dave@PragmaticProgrammer.com> wrote:
> From: Ben Tilly [mailto:ben_tilly@hotmail.com]
"Christoph Rippel" <crippel@primenet.com> writes:
[#12061] Ruby & AOP — "Dennis Decker Jensen" <dennisdecker@...>
Hi !
[#12093] Another hook — Dave Thomas <Dave@...>
[#12097] RCR: replacing 'caller' — Robert Feldt <feldt@...>
Hi,
[#12102] Re: Another hook — "Conrad Schneiker" <schneik@...>
Dave Thomas wrote:
[#12103] disassembling and reassembling a hash — raja@... (Raja S.)
Given a hash, h1, will the following always hold?
ts <decoux@moulon.inra.fr> writes:
[#12116] String.gsub() — Mike Bowler <mbowler@...>
The method String.gsub() isn't working the way I expected (or the way
[#12124] Is Ruby japanese-centered? — "Henning VON ROSEN" <hvrosen@...>
[matz writes]
In article <MABBIFGPDKFFOJPHLCLIOEAKCBAA.hvrosen@world-online.no>,
[#12135] Re: hash.invert loses data if equal values exist - is this the right behaviour? — Dave Thomas <Dave@...>
Tammo Freese <tammo.freese@offis.de> writes:
[#12144] New submissions to the Ruby Application Archive? — "Lyle Johnson" <ljohnson@...>
OK, I promise I looked around for this answer before posting here ;)
On Wed, 7 Mar 2001, Lyle Johnson wrote:
[#12155] RCR: Block form of Dir.chdir — Robert Feldt <feldt@...>
Hi,
[#12174] Nonblocking Read — Alex McHale <lists@...>
Hi there,
[#12179] Re: (long) Re: hash.invert loses data if equal values exist - is this the right behaviour? — Dave Thomas <Dave@...>
gotoken@math.sci.hokudai.ac.jp (GOTO Kentaro) writes:
Hi,
On Tuesday 06 March 2001 22:36, you wrote:
> From: Charles Hixson [mailto:charleshixsn@earthhlink.net]
[#12182] Re: Nonblocking Read] — Alex McHale <lists@...>
> IO#sysread is what you are looking for.
[#12204] FEATURE REQUEST: 'my' local variables — Leo Razoumov <see_signature@127.0.0.1>
Ruby is, indeed, a very well designed language.
>>>>> "GK" == GOTO Kentaro <gotoken@math.sci.hokudai.ac.jp> writes:
In message "[ruby-talk:12250] Re: FEATURE REQUEST: 'my' local variables"
Hi,
In message "[ruby-talk:12289] Re: FEATURE REQUEST: 'my' local variables"
On Monday 12 March 2001 00:39, GOTO Kentaro wrote:
Hi,
In message "[ruby-talk:12457] Re: FEATURE REQUEST: 'my' local variables"
matz@zetabits.com (Yukihiro Matsumoto) writes:
Hi,
On Tue, 13 Mar 2001, Yukihiro Matsumoto wrote:
> From: Stephen White [mailto:spwhite@chariot.net.au]
[#12229] random chars — Urban Hafner <the-master-of-bass@...>
Hello everybody, I think/hope I have some simple questions.
At 22:35 07.03.01 +0900, you wrote:
Tammo Freese <tammo.freese@offis.de> wrote:
[#12237] [ANN] NQXML v2.0 adds DOM, DOCTYPE, and ENTITY — Jim Menard <jimm@...>
NQXML is a pure Ruby implementation of an XML tokenizer, a SAX parser, and
[#12244] [ANN] NQXML v0.2.2 — Jim Menard <jimm@...>
In the spirit of "release early, release often", version 0.2.2 of NQXML can
[#12308] GUI Toolkit for Ruby — jjthrash@...
Hi all,
jjthrash@pobox.com wrote in message
[#12329] Math package — Mathieu Bouchard <matju@...>
In message "[ruby-talk:12329] Math package"
Hi,
[#12330] Haskell goodies, RCR and challenge — Robert Feldt <feldt@...>
Hi,
Hi,
On Sat, 10 Mar 2001, Yukihiro Matsumoto wrote:
[#12331] Re: Q re looping structures — ts <decoux@...>
>>>>> "M" == Mathieu Bouchard <matju@sympatico.ca> writes:
[#12332] ...and the challenge — Robert Feldt <feldt@...>
Hi again,
On Sat, 10 Mar 2001, Robert Feldt wrote:
> On Sat, 10 Mar 2001, Robert Feldt wrote:
[#12349] Can Ruby-GTK display Gif Png or Jpeg files? — Phlip <phlip_cpp@...>
Ruby-san:
Kent,
On Saturday 10 March 2001 15:30, Samantha Atkins wrote:
[#12369] Re: FEATURE REQUEST: 'my' local variables — Kevin Smith <sent@...>
matz@zetabits.com wrote:
[#12443] Re: ...and the challenge — "Benjamin J. Tilly" <ben_tilly@...>
>===== Original Message From Mathieu Bouchard <matju@sympatico.ca> =====
[#12444] class variables — Max Ischenko <max@...>
[#12446] Locale support in Ruby — Ollivier Robert <roberto@...>
Hello,
[#12523] rb_ary_each and hash — User Tcovert <tcovert@...>
awesome! thanks all!
[#12524] C++ is like teenage sex. — Stephen White <spwhite@...>
Forwarded message from glen mccready <gkm@petting-zoo.net> -----
[#12529] Re: Sum of Squares — "rashworth" <rashworth@...>
Thank you for your note. The new coding worked just fine.
[#12540] Strange segmentation fault problem with C++ extension — "Paul C" <paul_c@...>
Hi,
[#12601] http page download question — "Ian Marsman" <imarsman@...>
I am writing a script to download webpages from a favourite radio program
[#12606] Order, chaos, and change requests :) — Dave Thomas <Dave@...>
>>>>> "DT" == Dave Thomas <Dave@PragmaticProgrammer.com> writes:
[#12635] email address regexp — "David Fung" <dfung@...>
i would like to locate probable email addresses in a bunch of text files,
In article <m18zm531s9.fsf@halfdome.holdit.com>,
[#12646] police warns you -- Perl is dangerous!! — Leo Razoumov <see_signature@127.0.0.1>
I just read this story on Slashdot
On 14 Mar 2001 11:46:35 -0800, Leo Razoumov <see_signature@127.0.0.1> wrote:
On Wednesday 14 March 2001 15:40, Pete Kernan wrote:
On Fri, 16 Mar 2001, W. Kent Starr wrote:
[#12655] Re: FEATURE REQUEST: 'my' local variables — "Benjamin J. Tilly" <ben_tilly@...>
>===== Original Message From Leo Razoumov <see_signature@127.0.0.1> =====
[#12689] refactoring ruby code — Pat Eyler <pate@...>
To help myself learn more about Ruby, I'm starting to translate
[#12706] Library packaging — "Nathaniel Talbott" <ntalbott@...>
I have a project that I'm working on that needs to live two different lives,
"Nathaniel Talbott" <ntalbott@rolemodelsoft.com> writes:
Would it be possible to use some sort of jar style packaging - ie distribute
Hi,
matz@zetabits.com (Yukihiro Matsumoto) writes:
[#12738] Parser? — Hugh Sasse Staff Elec Eng <hgs@...>
Has anyone written a parser for Ruby in Ruby?
[#12754] assert_exception question — Pat Eyler <pate@...>
Okay, I'm reading along between several docs and now I'm confused ...
[#12768] Re: Tk Demo in Windows — ts <decoux@...>
>>>>> "R" == Ron Jeffries <ronjeffries@acm.org> writes:
[#12803] Deja vu? — Roy Smith <roy@...>
After years of reading people on c.l.python interject comments about Ruby,
On Tue, 20 Mar 2001 11:20:58 +0900, Hal E. Fulton
[#12821] units of measure — Mathieu Bouchard <matju@...>
[#12825] Floating point performance & Garbage collection — Jean-Sebastien ROY <jean-sebastien.roy@...>
I recently came across a little performance problem I have difficulties
In article
On Mon, 19 Mar 2001, Jean-Sebastien ROY wrote:
In article <Pine.LNX.3.96.1010319225134.15108F-100000@relayer>,
On Tue, 20 Mar 2001, Jean-Sebastien ROY wrote:
[#12829] converting a string to a class — "Doug Edmunds" <dae_alt3@...>
I want to concatenate strings which
[#12840] Looking for a decent compression scheme — Dave Thomas <Dave@...>
Dave Thomas wrote:
On Mon, 19 Mar 2001, Michael Neumann wrote:
Robert Feldt wrote:
[#12883] ruby-lang site — Ray Schneider <ray@...>
?
[#12892] find.rb — Tyler Wardhaugh <tgw@...>
Hello, I'm new Ruby and I like it very much. The dynamic extensibility
Hi,
"Christoph Rippel" <crippel@primenet.com> writes:
> From: dave@thomases.com [mailto:dave@thomases.com]On Behalf Of Dave
[#12895] differences between range and array — "Doug Edmunds" <dae_alt3@...>
This code comes from the online code examples for
On Tue, 20 Mar 2001, Hee-Sob Park wrote:
Jim Freeze <jim@freeze.org> writes:
On Tue, 20 Mar 2001, Dave Thomas wrote:
[#12905] Native/pthreads in Ruby — Christopher Petrilli <petrilli@...>
I read everything I could find in the archives talking about
Hi,
On Tue, Mar 20, 2001 at 05:34:27PM +0900, Yukihiro Matsumoto wrote:
[#12906] RubyConf 2001 update — "Guy N. Hurst" <gnhurst@...>
RubyConf 2001 Update
[#12921] fork problem??? — "Hal E. Fulton" <hal9000@...>
Hello all,
[#12929] Re: animal is onion as show stopper — "Conrad Schneiker" <schneik@...>
Apparently sleep-deprived Hal wrote:
[#12935] How to add accessors dynamically? — Ville Mattila <mulperi@...>
Hello
[#12941] rubicon version? — Hugh Sasse Staff Elec Eng <hgs@...>
ISTR that Rubicon was going into the CVS base of Ruby. Now 1.6.3 is out
[#12959] Re: differences between range and array — Kevin Smith <sent@...>
Guy N. Hurst wrote:
[#12960] TextBox ListBox — Ron Jeffries <ronjeffries@...>
Attached is a little Spike that Chet and I are doing. It is a
On Wed, 21 Mar 2001 04:36:38 +0900, rise <rise@knavery.net> wrote:
[#12991] [ANN] Lapidary 0.2.0 — "Nathaniel Talbott" <ntalbott@...>
Well, here's my first major contribution to the Ruby world: Lapidary. It's a
How is this different from RubyUnit?
>>>>> "Nathaniel" == Nathaniel Talbott <ntalbott@rolemodelsoft.com> writes:
jweirich@one.net [mailto:jweirich@one.net] wrote:
"Nathaniel Talbott" <ntalbott@rolemodelsoft.com> writes:
[#13020] instrumenting system resources — Eric Sven Ristad <ristad@...>
[#13028] mkmf question — Luigi Ballabio <luigi.ballabio@...>
[#13033] How do I properly munge stdout and stderr when using IO.popen? — Donald Sharp <sharpd@...>
Or alternatively is there a better way to do this?
In [ruby-talk:13033], Donald Sharp <sharpd@cisco.com> wrote:
I can't force the end user to choose a particular shell.
[#13039] extending existing classes. — Hugh Sasse Staff Elec Eng <hgs@...>
I've run up against something I thought I knew how to solve, but...
[#13046] Philosophical question: extension v. pure ruby — Colin Steele <colin@...2.com>
[#13054] Questions about ruby — Roy Patrick Tan <rtan@...>
Hi, I am preparing a presentation about Ruby, for the programming
[#13064] Lapidary questions — Paul Pladijs <ppladijs@...>
[#13079] Thread Safe — Rogers Gene A Civ 96 CG/SCTOB <gene.rogers@...>
Here's a question (stupid, maybe):
[#13086] Amusing contrast — Bob Kline <bkline@...>
I was struck by the discrepancy between this quote from the Ruby man
[#13099] xmlparser installation woes — Phil Suh <phil@...>
[#13117] ZPT, a next-generation template technology (repost) — "Conrad Schneiker" <schneik@...>
FYI. Thought some Rubies might be interested in this.
[#13138] How would Ruby say this? — "Lyle Johnson" <ljohnson@...>
One group of C++ functions I'm wrapping for FXRuby have signatures like
"Lyle Johnson" <ljohnson@resgen.com> writes:
[#13163] Re: Amusing contrast — Kevin Smith <sent@...>
Dave Thomas wrote:
[#13182] Re: email address regexp (fwd) — Paul Pladijs <paul.pladijs@...>
[#13185] Reading a file backwards — "Daniel Berger" <djberg96@...>
Hi all,
> Hi Dan,
On Sun, 25 Mar 2001, Daniel Berger wrote:
"Mathieu Bouchard" <matju@sympatico.ca> wrote in message
On Mon, 26 Mar 2001, Daniel Berger wrote:
Ernest Ellingson <erne@powernav.com> writes:
[#13225] Installation Woes — "John Kaurin" <jkaurin@...>
System: alphaev6-osf4.0f
[#13226] Re: Randal in Ruby-land? (was: email address regexp) — "Benjamin J. Tilly" <ben_tilly@...>
>===== Original Message From claird@starbase.neosoft.com (Cameron Laird) =====
[#13236] drb and "recycled objects" errors — Jimmy Olgeni <olgeni@...>
[#13240] hash problem — Urban Hafner <the-master-of-bass@...>
Hello everybody,
[#13246] Re: Randal in Ruby-land? (was: email address regexp) — "Conrad Schneiker" <schneik@...>
Mathieu Bouchard wrote:
Hi,
Hi,
> From: Yukihiro Matsumoto [mailto:matz@zetabits.com]
On Thu, 29 Mar 2001 23:11:03 +0900, Christoph Rippel pontificated:
On Fri, 30 Mar 2001, Pete Kernan wrote:
[#13255] This is going to sound crazy, but... — Dave Thomas <Dave@...>
[#13294] ruby slowww socket handling — Joseph McDonald <joe@...>
[#13303] Reloading files — "Nathaniel Talbott" <ntalbott@...>
First of all, a confession: Lapidary's GTK::TestRunner had a show stopper
[#13318] hash slice implementaion — "Hee-Sob Park" <phasis@...>
[#13369] Buffered and non-buffered IO — Lloyd Zusman <ljz@...>
Could anyone point me to some documentation that describes how I could
[#13374] Passing an array to `exec'? — Lloyd Zusman <ljz@...>
I'd like to do the following:
"Hee-Sob Park" <phasis@hananet.net> writes:
[#13388] Using Antlr for Ruby? (was RE: Re: why won't "( a) = 1" parse?) — Christophe Broult <cbroult@...>
Hi,
Hi,
[#13397] Multidimensional arrays and hashes? — Lloyd Zusman <ljz@...>
Is it possible in ruby to make use of constructs that correspond to
masa@stars.gsfc.nasa.gov writes:
> From: nosuzuki@e-mail.ne.jp [mailto:nosuzuki@e-mail.ne.jp]On Behalf Of
"Christoph Rippel" <crippel@primenet.com> writes:
[ruby-talk:12814] Re: Tk Demo in Windows
"Ron Jeffries" <ronjeffries@acm.org> wrote in message
news:070703DE27F35AEA.7E68E353685AFAB4.1098708902332E2B@lp.airnews.net...
> Hi Gang,
>
> I've been through the newsgroup and the web sites and could use some
> help with Tk in Windows. Does anyone have Conrad's widget demo running
> on Win 2000?
>
> When I run widget, I get a stack problem:
>
> from /cygdrive/c/ruby/lib/ruby/1.6/tk.rb:811:in `_invoke'
> ... 736 levels...
> from ./tkencoding.rb:25:in `_invoke'
> from /cygdrive/c/ruby/lib/ruby/1.6/tkafter.rb:14
> from C:\ruby\samples\tk\demos\widget:14:in `require'
> from C:\ruby\samples\tk\demos\widget:14
>
> This seems to be caused by requiring tkafter, if I remove that then I
> get the problem a little later, caused by tkencoding. If I remove
> that, I get
> command not found: cat ./button.rb
> which I suppose would be trivial to get around if I had a clue what
> "cat' is.
>
> So, anyway, is there a windows version of this stuff?
>
> Or am I on the wrong track entirely? What I'm trying to do, with Chet
> Hendrickson, is prepare for a demo we're doing at Software
> Development. We just need a fairly simple GUI, with a list box, a text
> box, some scrolling, simple menus, etc.
>
> I'm finding translating between the Perl/Tk and Ruby to be a bit hard
> for those first bites.
>
> Thanks,
>
> Ron
>
> Ronald E Jeffries
> http://www.XProgramming.com
> http://www.objectmentor.com
Hope this is what you are looking for, I translated the python example for
figure 2.5 in the book "Python and Tkinter Programming" by John E. Grayson.
It is a direct translation avoiding any changes possible (save some minor
formatting).
It runs on my Windows 98 box.
I am using the install kit from Pragmatic Programmer's 1.6.2-3 (Custom
install, all features).
I commented out one line in the code since I did not know how to handle it
in Ruby and the menus (other than File->Exit) report a tcl script error
instead of doing nothing.
You should be able to run it from DOS using "ruby alltkwidgets.rb" (if you
saved it as alltkwidgets.rb that is). I also run it from inside Visual
SlickEdit without trouble (having set up VSE for Ruby).
First the code, then a file the code uses (the program looks for the support
file as matz.txt):
require "tk"
class AllTkWidgets
def initialize(master)
@frame = TkFrame.new(master)
@frame.pack
end
mbar = TkFrame.new(@frame, "relief"=>"raised", "bd"=>2)
mbar.pack("fill"=>"x")
# Create File menu
filebutton = TkMenubutton.new(mbar, "text"=>"File")
filebutton.pack("side"=>"left")
filemenu = TkMenu.new(filebutton, "tearoff"=>0)
filebutton["menu"] = filemenu
# Populate File menu
filemenu.add("command", "label"=>"Exit", "command"=>"exit")
# Create object menu
objectbutton = TkMenubutton.new(mbar, "text"=>"Object")
objectbutton.pack("side"=>"left")
objectmenu = TkMenu.new(objectbutton, "tearoff"=>0)
objectbutton["menu"] = objectmenu
# Populate object menu
objectmenu.add("command", "label"=>"object", "command"=>"stub")
# Create edit menu
editbutton = TkMenubutton.new(mbar, "text"=>"Edit")
editbutton.pack("side"=>"left")
editmenu = TkMenu.new(editbutton, "tearoff"=>0)
editbutton["menu"] = editmenu
# Populate edit menu
editmenu.add("command", "label"=>"edit", "command"=>"stub")
# Create view menu
viewbutton = TkMenubutton.new(mbar, "text"=>"View")
viewbutton.pack("side"=>"left")
viewmenu = TkMenu.new(viewbutton, "tearoff"=>0)
viewbutton["menu"] = viewmenu
# Populate view menu
viewmenu.add("command", "label"=>"view", "command"=>"stub")
# Create tools menu
toolsbutton = TkMenubutton.new(mbar, "text"=>"Tools")
toolsbutton.pack("side"=>"left")
toolsmenu = TkMenu.new(toolsbutton, "tearoff"=>0)
toolsbutton["menu"] = toolsmenu
# Populate tools menu
toolsmenu.add("command", "label"=>"tools", "command"=>"stub")
# Create help menu
helpbutton = TkMenubutton.new(mbar, "text"=>"Help")
helpbutton.pack("side"=>"right")
helpmenu = TkMenu.new(helpbutton, "tearoff"=>0)
helpbutton["menu"] = helpmenu
# Populate help menu
helpmenu.add("command", "label"=>"help", "command"=>"stub")
# Widgets
iframe1 = TkFrame.new(@frame, "bd"=>2, "relief"=>"sunken")
TkButton.new(iframe1, "text"=>"Button").pack("side"=>"left", "padx"=>5)
TkCheckbutton.new(iframe1, "text"=>"CheckButton").pack("side"=>"left",
"padx"=>5)
v=TkVariable.new
TkRadiobutton.new(iframe1, "text"=>"Button", "variable"=>v,
"value"=>3).pack("side"=>"right", "anchor"=>"w")
TkRadiobutton.new(iframe1, "text"=>"Dio", "variable"=>v,
"value"=>2).pack("side"=>"right", "anchor"=>"w")
TkRadiobutton.new(iframe1, "text"=>"Ra", "variable"=>v,
"value"=>1).pack("side"=>"right", "anchor"=>"w")
iframe1.pack("expand"=>true, "fill"=>"x", "pady"=>10, "padx"=>5)
iframe2 = TkFrame.new(@frame, "bd"=>2, "relief"=>"ridge")
TkLabel.new(iframe2, "text"=>"Label widget:").pack("side"=>"left",
"padx"=>5)
t = TkVariable.new
e = TkEntry.new(iframe2, "textvariable"=>t,
"bg"=>"white").pack("side"=>"right", "padx"=>5)
e.insert(0, "Entry widget")
iframe2.pack("expand"=>true, "fill"=>"x", "pady"=>10, "padx"=>5)
iframe3 = TkFrame.new(@frame, "bd"=>2, "relief"=>"groove")
listbox = TkListbox.new(iframe3, "height"=>4)
for line in ["Listbox Entry One","Entry Two","Entry Three","Entry Four"]
listbox.insert("end", line)
end
listbox.pack("fill"=>"x", "padx"=>5)
iframe3.pack("expand"=>true, "fill"=>"x", "pady"=>10, "padx"=>5)
iframe4 = TkFrame.new(@frame, "bd"=>2, "relief"=>"sunken")
text=TkText.new(iframe4, "height"=>10)
fd = open("matz.txt")
lines = fd.read
fd.close
text.insert("end", lines)
text.pack("side"=>"left", "fill"=>"x", "padx"=>5)
sb = TkScrollbar.new(iframe4, "orient"=>"vertical",
"command"=>proc{|*args| text.yview *args})
sb.pack("side"=>"right", "fill"=>"y")
text.yscrollcommand(proc {|first,last| sb.set(first,last)})
iframe4.pack("expand"=>true, "fill"=>"x", "pady"=>10, "padx"=>5)
iframe5 = TkFrame.new(@frame, "bd"=>2, "relief"=>"raised")
TkScale.new(iframe5, "from"=>0.0, "to"=>50.0, "label"=>"Scale widget",
"orient"=>"horizontal").pack("side"=>"left")
c = TkCanvas.new(iframe5, "bg"=>"white", "width"=>340, "height"=>100)
c.pack
for i in (0..25)
TkcOval.new(c, 5+(4*i),5+(3*i),(5*i)+60,(i)+60, "fill"=>"gray70")
end
TkcText.new(c, 260, 80, "text"=>"Canvas", "font"=>["verdana", 10, "bold"])
iframe5.pack("expand"=>true, "fill"=>"x", "pady"=>10, "padx"=>5)
iframen = TkFrame.new(@frame, "bd"=>2, "relief"=>"flat")
TkMessage.new(iframen, "text"=>"This is a Message widget", "width"=>300,
"relief"=>"sunken").pack("fill"=>"x", "padx"=>5)
iframen.pack("expand"=>true, "fill"=>"x", "pady"=>10, "padx"=>5)
def stub
end
end
root = TkRoot.new
#root.option_add("*font", ["verdana", 10, "bold"])
all = AllTkWidgets.new(root)
root.title("Tk Widgets in Ruby")
root.mainloop
The matz.txt file:
What's Ruby
Ruby is the interpreted scripting language for quick and easy
object-oriented programming. It has many features to process text files and
to do system management tasks (as in Perl). It is simple, straight-forward,
extensible, and portable.
Oh, I need to mention, it's totally free, which means not only free of
charge, but also freedom to use, copy, modify, and distribute it.
Features of Ruby
Ruby has simple syntax, partially inspired by Eiffel and Ada.
Ruby has exception handling features, like Java or Python, to make it easy
to handle errors.
Ruby's operators are syntax sugar for the methods. You can redefine them
easily.
Ruby is a complete, full, pure object oriented language: OOL. This means all
data in Ruby is an object, not in the sense of Python or Perl, but in the
sense of Smalltalk: no exceptions. Example: In Ruby, the number 1 is an
instance of class Fixnum.
Ruby's OO is carefully designed to be both complete and open for
improvements. Example: Ruby has the ability to add methods to a class, or
even to an instance during runtime. So, if needed, an instance of one class
*can* behave differently from other instances of the same class.
Ruby features single inheritance only, *on purpose*. But Ruby knows the
concept of modules (called Categories in Objective-C). Modules are
collections of methods. Every class can import a module and so gets all its
methods for free. Some of us think that this is a much clearer way than
multiple inheritance, which is complex, and not used very often compared
with single inheritance (don't count C++ here, as it has often no other
choice due to strong type checking!).
Ruby features true closures. Not just unnamed function, but with present
variable bindings.
Ruby features blocks in its syntax (code surrounded by '{' ... '}' or 'do'
... 'end'). These blocks can be passed to methods, or converted into
closures.
Ruby features a true mark-and-sweep garbage collector. It works with all
Ruby objects. You don't have to care about maintaining reference counts in
extension libraries. This is better for your health. ;-)
Writing C extensions in Ruby is easier than in Perl or Python, due partly to
the garbage collector, and partly to the fine extension API. SWIG interface
is also available.
Integers in Ruby can (and should) be used without counting their internal
representation. There *are* small integers (instances of class Fixnum) and
large integers (Bignum), but you need not worry over which one is used
currently. If a value is small enough, an integer is a Fixnum, otherwise it
is a Bignum. Conversion occurs automatically.
Ruby needs no variable declarations. It uses simple naming conventions to
denote the scope of variables. Examples: simple 'var' = local variable,
'@var' = instance variable, '$var' = global variable. So it is also not
necessary to use a tiresome 'self.' prepended to every instance member.
Ruby can load extension libraries dynamically if an OS allows.
Ruby features OS independent threading. Thus, for all platforms on which
Ruby runs, you also have multithreading, regardless of if the OS supports it
or not, even on MS-DOS! ;-)
Ruby is highly portable: it is developed mostly on Linux, but works on many
types of UNIX, DOS, Windows 95/98/NT, Mac, BeOS, OS/2, etc.
The Creator of Ruby
Yukihiro Matsumoto, a.k.a Matz
matz@netlab.co.jp