[#14464] who uses Python or Ruby, and for what? — ellard2@...01.fas.harvard.edu (-11,3-3562,3-3076)

A while ago I posted a request for people to share their experiences

12 messages 2001/05/01

[#14555] Ruby as a Mac OS/X scripting language — Dave Thomas <Dave@...>

10 messages 2001/05/02

[#14557] Arggg Bitten by the block var scope feature!!! — Wayne Scott <wscott@...>

13 messages 2001/05/02

[#14598] Re: Arggg Bitten by the block var scope feature!!! — "Conrad Schneiker" <schneik@...>

# On Thu, 3 May 2001, Wayne Scott wrote:

9 messages 2001/05/03

[#14636] Yet another "About private methods" question — Eric Jacoboni <jacoboni@...2.fr>

I'm still trying to figure out the semantics of private methods in Ruby.

39 messages 2001/05/04
[#14656] Re: Yet another "About private methods" question — Dave Thomas <Dave@...> 2001/05/04

Eric Jacoboni <jaco@teaser.fr> writes:

[#14666] Ruby and Web Applications — "Chris Montgomery" <monty@...> 2001/05/04

Greetings from a newbie,

[#14772] Re: Ruby and Web Applications — Jim Freeze <jim@...> 2001/05/07

On Sat, 5 May 2001, Chris Montgomery wrote:

[#14710] Why's Ruby so slow in this case? — Stefan Matthias Aust <sma@3plus4.de>

Sure, Ruby, being interpreted, is slower than a compiled language.

12 messages 2001/05/05

[#14881] Class/Module Information — "John Kaurin" <jkaurin@...>

It is possible to modify the following code to produce

18 messages 2001/05/09

[#15034] Re: calling .inspect on array/hash causes core dump — ts <decoux@...>

>>>>> "A" == Andreas Riedl <viisi@chello.at> writes:

15 messages 2001/05/12

[#15198] Re: Q: GUI framework with direct drawing ca pabilities? — Steve Tuckner <SAT@...>

Would it be a good idea to develop a pure Ruby GUI framework built on top of

13 messages 2001/05/15

[#15234] Pluggable sorting - How would you do it? — "Hal E. Fulton" <hal9000@...>

Hello all,

16 messages 2001/05/16

[#15549] ColdFusion for Ruby — "Michael Dinowitz" <mdinowit@...2000.com>

I don't currently use Ruby. To tell the truth, I have no real reason to. I'd

12 messages 2001/05/22

[#15569] I like ruby-chan ... — Rob Armstrong <rob@...>

Ruby is more human(e) than Python. We already have too many animals :-).

15 messages 2001/05/23

[#15601] How to avoid spelling mistakes of variable names — ndrochak@... (Nick Drochak)

Since Ruby does not require a variable to be declared, do people find

13 messages 2001/05/23

[#15734] java based interpreter and regexes — "Wayne Blair" <wayne.blair@...>

I have been thinking about the java based ruby interpreter project, and I

48 messages 2001/05/25

[#15804] is it possible to dynamically coerce objects types in Ruby? — mirian@... (Mirian Crzig Lennox)

Greetings to all. I am a newcomer to Ruby and I am exploring the

13 messages 2001/05/27
[#15807] Re: is it possible to dynamically coerce objects types in Ruby? — matz@... (Yukihiro Matsumoto) 2001/05/27

Hi,

[#15863] Experimental "in" operator for collections — Stefan Matthias Aust <sma@3plus4.de>

There's one thing where I prefer Python over Ruby. Testing whether an

13 messages 2001/05/28

[#15925] Re: Block arguments vs method arguments — ts <decoux@...>

>>>>> "M" == Mike <mike@lepton.fr> writes:

43 messages 2001/05/29
[#16070] Re: Block arguments vs method arguments — "Hal E. Fulton" <hal9000@...> 2001/05/31

----- Original Message -----

[#16081] Re: Block arguments vs method arguments — Sean Russell <ser@...> 2001/05/31

On Thu, May 31, 2001 at 11:53:17AM +0900, Hal E. Fulton wrote:

[#16088] Re: Block arguments vs method arguments — Dan Moniz <dnm@...> 2001/05/31

At 11:01 PM 5/31/2001 +0900, Sean Russell wrote:

[#15954] new keyword idea: tryreturn, tryturn or done — Juha Pohjalainen <voidjump@...>

Hello everyone!

12 messages 2001/05/29

[ruby-talk:15286] Re: Turtle graphics anyone?

From: "Luthy Craig" <LuthyCraig@...>
Date: 2001-05-16 15:38:36 UTC
List: ruby-talk #15286
Hi

I have a chance at a Career Awareness Day this friday to introduce your
program and Ruby to teachers and students at the local middle school. I hope
it will be fun and an eye opener for all of us. As a newcomer to Ruby I am
continually amazed at how much work can be done in just a few lines of code.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Craig Luthy, CAE Services, Deere & Company, Moline, IL  61265
LuthyCraig@JohnDeere.com


> -----Original Message-----
> From:	Mathieu Bouchard [SMTP:matju@sympatico.ca]
> Sent:	Tuesday, May 15, 2001 5:17 PM
> To:	ruby-talk@ruby-lang.org; meredith
> Cc:	ruby-talk ML; ruby-talk@netlab.co.jp
> Subject:	[ruby-talk:15217] Re: Turtle graphics anyone?
> 
> On Wed, 16 May 2001, meredith wrote:
> > I've been trying to persuade my teacher friends to use Ruby to teach 
> > their kids. The bottom line for most of them is that they need to have 
> > turtle graphics. If I knew TK I might attempt it myself, but I don't and
> 
> > so the learning curve would be way too big. Anyone out there want to 
> > take it on?
> > Getting it into the schools is a really good way to help a language 
> > catch on.
> 
> 
> 
> Three parts:
> 
> 	* a sample program using the turtle
> 
> 	* the turtle package (yellow window)
> 		commands typed in the red box may be
> 		"forward", "back", "right", "left", or any
> 		ruby expression.
> 
> 	* the listener package (type commands in the red box)
> 		I originally wrote this last part for another project;
> 		it has a command history.
> 
> ----------------8<----------------cut-here----------------8<--------------
> --
> 
> # this draws a recursive tree.
> 
> # unfortunately you'll have to put the whole def on one line to feed it to
> # the listener, unless you wrap it in $listener.instance_eval { } just
> # before the mainloop.
> 
> def tree(d,n)
> 	return if n<1
> 	forward d
> 	left 45
> 	tree d*3/4,n-1
> 	right 90
> 	tree d*3/4,n-1
> 	left 45
> 	back d
> end
> 
> back 50
> tree 50,6
> 
> --------8<----------------cut-here----------------8<-------- TkTurtle.rb
> 
> #       Ruby/Tk Turtle Graphics
> #       Copyright (c) 2001 by Mathieu Bouchard
> #       under the same license as Ruby itself
> 
> require 'tk'
> require 'TkRubyListener'
> 
> $root = TkRoot.new {
> 	title "Tortue"
> }
> $canvas = TkCanvas.new($root) {
> 	background "#888800" # dark yellow
> 	width 512
> 	height 384
> }.pack
> $listener = TkRubyListener.new($root,60,8)
> $listener.frame.pack("fill"=>"both")
> 
> module Turtle
> 	def turtle_init
> 		@pos_x = $canvas.width/2
> 		@pos_y = $canvas.height/2
> 		@angle = 0
> 		@turtle_lines ||= (0...3).map {|i|
> 			l = TkcLine.new($canvas,0,0,0,0)
> 			l.fill "white"
> 			l
> 		}
> 		turtle_draw
> 	end
> 	def forward(distance)
> 		nx = @pos_x + distance * Math.sin(@angle)
> 		ny = @pos_y - distance * Math.cos(@angle)
> 		TkcLine.new($canvas,@pos_x,@pos_y,nx,ny).fill "black"
> 		@pos_x = nx
> 		@pos_y = ny
> 		turtle_draw
> 		return distance
> 	end
> 	def right(angle)
> 		@angle += angle * Math::PI / 180
> 		turtle_draw
> 		return angle
> 	end
> 	def back(distance); forward -distance; end
> 	def left(angle); right(-angle); angle; end
> 
> 	def turtle_draw
> 		@turtle_points = 
> 		[[8,0],[-8,0],[0,20]].map {|x,y| [
> 			@pos_x + y * Math.sin(@angle) + x *
> Math.cos(@angle),
> 			@pos_y - y * Math.cos(@angle) + x * Math.sin(@angle)
> 		]}
> 		(0...3).each {|i| @turtle_lines[i].coords(*(
> 			@turtle_points[i] + @turtle_points[(i+1)%3] ))
> 		}
> 	end
> end
> 
> $listener.extend Turtle
> $listener.turtle_init
> # $listener.instance_eval { }
> Tk.mainloop
> 
> ----8<----------------cut-here----------------8<---- TkRubyListener.rb
> #       Interactive Ruby/Tk
> #       Copyright (c) 2000,2001 by Mathieu Bouchard
> #       under the same license as Ruby itself
> 
> require "tk"
> 
> class TkRubyListener
> 	attr_reader :entry
> 	attr_reader :text
> 	attr_reader :hist
> 	attr_reader :frame
> 
> 	def initialize(parent,w=80,h=10)
> 		@frame = TkFrame.new(parent)
> 
> 		@hist = []
> 		@histn = 0
> 		_line = @line = TkVariable.new
> 
> 		@text = TkText.new(frame) {
> 			background "#006090"
> 			foreground "#ffffff"
> 			highlightbackground "#000000"
> 			highlightcolor "#ffffff"
> 			width w
> 			height h
> 		}.pack("fill"=>"both")
> 
> 		@entry = TkEntry.new(frame) {
> 			background "#900060"
> 			foreground "#ffffff"
> 			highlightbackground "#000000"
> 			highlightcolor "#ffffff"
> 			width w
> 			textvariable _line
> 		}.pack("fill"=>"x")
> 
> 		@entry.bind("Return") { self.eval_entry   }
> 		@entry.bind("Up")     { self.history_up   }
> 		@entry.bind("Down")   { self.history_down }
> 	end
> 
> 	def line=(value)
> 		# bug?
> 		# @line.value = value
> 
> 		@entry.delete("0","end")
> 		@entry.insert("0",value)
> 	end
> 	def line()
> 		@line.value
> 	end
> 
> 	def hist_peek(i)
> 		hist[i]
> 	end
> 
> 	def histn=(v)
> 		@histn = v > hist.length ? hist.length : v < 0 ? 0 : v
> 	end
> 	attr_reader :histn
> 
> 	def add_history(v)
> 		@hist.push v
> 		self.histn = hist.length
> 	end
> 
> 	# there is a bug that causes spurious '(undef)' to appear (and
> possibly
> 	# not even executing the code) but i don't know what it is
> 	# this was in perl, may not occur in ruby.
> 	def eval_entry
> 		@text.delete("1.0", "end")
> 		@text.insert("end","\n<< #{self.line}\n")
> 		_result_,_err_ = nil
> 		begin
> 			_result_ = eval line
> 		rescue Exception => _err_
> 			text.insert("end","!> #{_err_}\n")
> 		end
> 		if not _err_
> 			@text.insert("end",">> #{_result_.inspect}\n")
> 		end
> 
> 		add_history(line)
> 		self.line = ""
> 		text.yview("moveto",1)
> 	end
> 
> 	def history_up
> 		self.histn -= 1
> 		self.line = hist_peek(histn)
> 		entry.cursor = 'end'
> 	end
> 
> 	def history_down
> 		self.histn += 1
> 		self.line = hist_peek(histn)
> 		entry.cursor = 'end'
> 	end
> end
> 
> ----------------8<----------------cut-here----------------8<--------------
> --
> 
> matju
> 
> 

In This Thread

Prev Next