[#20651] Changing a program's name at run time via $0... — Sean Chittenden <sean-ruby-talk@...>
Anyone have any ideas how to change a program's name while it's
[#20675] RCR: non-bang equivalent to []= — Tobias Reif <tobiasreif@...>
Hi,
Hello --
Hi David,
I wrote:
--- Tobias Reif <tobiasreif@pinkjuice.com> wrote:
Kevin,
>>>>> "T" == Tobias Reif <tobiasreif@pinkjuice.com> writes:
--- ts <decoux@moulon.inra.fr> wrote:
Hello --
[#20680] Re: Do we about sub-second [amc]time on files? — "Brian F. Feldman" <green@...>
Oh yeah, and addresses for the specific diffs I've made:
[#20683] eruby 0.9.6 doesn't work with ruby 1.7.1 — Aleksi Niemel<aleksi.niemela@...>
I can't make eruby 0.9.6 work with ruby 1.7.1. It works fine with ruby
>>>>> "A" == Aleksi Niemel=E4?= <iso-8859-1> writes:
[#20701] ANN: Ruby/Mock 1.0 — "Nat Pryce" <nat.pryce@...13media.com>
I mentioned this in another thread, but thought I would announce it properly
[#20715] oreilly buch von matz - website online — markus jais <info@...>
hi
Actually, thanks for posting it here. I was trying to search OReilly's
Hi,
On Mon, 3 Sep 2001, Phil Tomson wrote:
> |> Oh, no. Last time I asked them sheep, they gave me goat. This time
Hi,
> |I understand, but let's look at it the other way:
[#20721] Possible typo bug? — Christopher Sawtell <csawtell@...>
Hi,
[#20730] Nightly CVS tarball? — Wai-Sun Chia <waisun.chia@...>
Hello Rubyists,
[#20747] how update anonymous classes? — "Henning von Rosen" <henning@...>
Hi!
[#20768] Minor cgi.rb question — "Hal E. Fulton" <hal9000@...>
I don't have much experience with
[Hal E. Fulton]
[#20770] Calling member methods from C++ — jglueck@... (Bernhard Glk)
Some quetsions have been solved for me, but my message system does not
[#20790] singleton help — Albert Wagner <alwagner@...>
I need some help with a singleton class.
[#20820] Ruby/Tk core dump — Harry Ohlsen <harryo@...>
I asked someone at uni to install Ruby for me, so I could use it for an
[#20822] Converting String to Symbol? — "Florian G. Pflug" <fgp@...>
Hi
[#20840] modify hash during iteration — Tomas Brixi <brixi@...>
Hello
[#20882] newbie question — Pat Eyler <pate@...>
Hello all,
[#20902] RubyConf registration is now open: sign up today! — Dave Thomas <Dave@...>
[#20907] Problem with druby related to TCPServer implementation on linux — Christian Boos <cboos@...>(by way of Christian Boos <cboos@...>)
Hello all,
[#20908] Removing singleton methods and instance variables - how ? — "Aristarkh A Zagorodnikov" <xm@...3d.ru>
Hi,
[#20937] trouble loading self-compiled extension in cygwin. — Matthias Lampert <ml@...>
Hello, folks!
I need to get the OpenGL module from the RAA working in a MS-Windows
[#20940] calling original method in overrided method? — Henry House <hajhouse@...>
I don't like the default behavior of String#to_i and String#to_f to return
[#20947] Is Ruby/Tk being maintained? — Albert Wagner <alwagner@...>
I there an active maintainer of Ruby/Tk? I have posted a couple of problems
[#20965] creating lots of files — Joseph McDonald <joe@...>
[#20976] destructor — Frank Sonnemans <ruby@...>
Does Ruby have a destructor as in C++?
"Nat Pryce" <nat.pryce@b13media.com> writes:
[#20987] put my vote down for ruby-chan! — Christopher Taylor <ct@...>
i'd like to see ruby chan as the `offical mascot`
[#21013] length of Ruby array from C? — Neil Conway <nconway@...>
Hi all,
[#21054] Question about RAA listings — "JamesBritt" <james@...>
I'm putting together a web site devoted to Ruby and XML, and plan to include
[#21070] build minimal Ruby interpreter — Max Ischenko <max@...>
[#21104] Ruby-GTK / Ruby-glade problems — Craig Files <Craig_Files@...>
We are very interested in using Ruby/LibGlade for a project, but in
[#21131] Robocode (RubyBot - perhaps a way to introduce people to Ruby?) — ptkwt@...1.aracnet.com (Phil Tomson)
Slashdot has an article about a game called Robocode that teaches Java by
[#21168] The Parrot lives! — stephen.hill@... (Steve Hill)
Slashdot is reporting that Parrot 0.01 has been released. Oh joy ;-)
[#21169] GUI toolkits for windows — Alva <alv@...>
Hi all! I'm a Ruby newbie, but strongly feel that it will
[#21200] strange warnings from the parser? — Paul Brannan <pbrannan@...>
When I write code that does this:
[#21212] What's the best book — jmp@... (Jean-Marc Pennel)
.... to learn Ruby.
[#21216] OSX — bobh@... (Robert)
Any problems getting Ruby to compile on MacOS X? Did you have to add
[#21218] Ruby objects <-> XML: anyone working on this? — senderista@... (Tobin Baker)
Are there any Ruby analogs of these two Python modules (xml_pickle,
[#21224] Redefining constants — Johann Hibschman <johann@...>
Hi all,
[#21234] Ruby/GTK maintainer? — Neil Conway <nconway@...>
Hi all,
[#21236] alternate Download-Site of IOWA? — horibo@... (Horst Rischbode)
Hi,
[#21245] Embedding Q's — Johann Hibschman <johann@...>
Hi all,
[#21263] Exceptions and Ruby — Alva <alv@...>
Hi,
[#21268] Re: alternate Download-Site of IOWA? — "Julian Fitzell" <jfitzell@...>
Yeah, it would wouldn't it? :)
[#21291] Image libraries — Jimmy Thrasher <jjthrash@...>
Is anybody working on Ruby bindings for libpng or libgif?
[#21292] PC Magazine — Ryan Tarpine <rtarpine@...>
In the October issue of PC Magazine, in his Inside Track column John C.
[#21296] nested require files need path internally — Bob Gustafson <bobgus@...>
Version: 1.64
Hello --
On Tue, 18 Sep 2001, David Alan Black wrote:
Hi,
On Tue, 18 Sep 2001, Yukihiro Matsumoto wrote:
Hi,
> The big difference is C++ search done in compile time, Ruby search
Hi,
On Wed, 19 Sep 2001, Yukihiro Matsumoto wrote:
Hi,
On 19/09/2001 at 10:12 AM matz@ruby-lang.org wrote:
Hi,
On Wed, 19 Sep 2001, Yukihiro Matsumoto wrote:
Hi,
On Thu, 20 Sep 2001, Yukihiro Matsumoto wrote:
[#21315] Suggestions for new CGI lib — anders@... (Anders Johannsen)
From the comp.lang.ruby thread "Minor cgi.rb question" (2001-09-03), I
Hi,
Hallo,
[#21321] iowa and win98 — horibo@... (Horst Rischbode)
Hi,
On Tue, 18 Sep 2001, Horst Rischbode wrote:
[#21362] [Ann] JRuby - Ruby interpreter in Java — Jan Arne Petersen <japetersen@...>
Hello!
[#21377] How to tell if port is in use... — "Hal E. Fulton" <hal9000@...>
Hello all...
"Hal E. Fulton" wrote:
[#21378] Path walking on windows — Ed Sinjiashvili <edsin@...>
Hi,
[#21387] Segfault: ruby 1.7.1 (2001-09-08) during mod_ruby-0.9.3 build — Wai-Sun Chia <waisun.chia@...>
[root@caspar root]# ruby -v
[#21413] Ruby/objects book in style of The Little Lisper — Brian Marick <marick@...>
I fell in love with Lisp in the early 80's. Back then, I read a book called
On 20 Sep 2001 06:19:44 +0900, Brian Marick wrote:
--- Christopher Sawtell <csawtell@paradise.net.nz> wrote:
--- Mikkel Damsgaard <mikkel_damsgaard@mailme.dk> wrote:
On Sat, 22 Sep 2001, Kevin Smith wrote:
--- Todd Gillespie <toddg@mail.ma.utexas.edu> wrote:
On Sat, 22 Sep 2001, Kevin Smith wrote:
On Fri, 2001-09-21 at 21:47, Todd Gillespie wrote:
--- Brian Marick <marick@visibleworkings.com> wrote:
[#21431] RE: chain methods inside and outside the class; how to intermingle mine and Strings' methods? — "Frykholm, Niklas" <nfrykholm@...>
[Tobias Reif]
[#21454] Interaction system() / $stdout ? — Johan Holmberg <holmberg@...>
[#21499] Speed — David Tillman <dtillman@...>
[#21503] Trouble in native library... — Kero van Gelder <kero@...4050.upc-d.chello.nl>
[Mailed to both ruby-talk and ruby-dev]
[#21504] Replacement for __FILE__ == $0 — "Nathaniel Talbott" <ntalbott@...>
OK, this will probably end up being an RCR, but first I want to get some
--- Nathaniel Talbott <ntalbott@rolemodelsoft.com> wrote:
Kevin Smith [mailto:kevinbsmith@yahoo.com] wrote:
--- Nathaniel Talbott <ntalbott@rolemodelsoft.com> wrote:
[#21535] irb — Fabio <fabio.spelta@...>
Hello. :) I'm new here, and I have not found an archive of the previous
>>>>> "F" == Fabio <fabio.spelta@tiscalinet.it> writes:
> Do this command work, for you ?
>>>>> "F" == Fabio <fabio.spelta@tiscalinet.it> writes:
I've restored the original ext/setup file (and all the others) and recompiled:
>>>>> "F" == Fabio <fabio.spelta@tiscalinet.it> writes:
OK: I'm a nerd :-|
>>>>> "F" == Fabio <fabio.spelta@tiscalinet.it> writes:
[#21564] Returnin own C++ type from ruby method — jglueck@... (Bernhard Glk)
Hi there again!
[#21605] Please translate this easy snip of C++ to Ruby — Phlip <phlip_cpp@...>
Ruby Users:
[#21606] gtk on win32 — "Benoit Cerrina" <benoit.cerrina@...>
Hi,
[#21613] C++ / Ruby questions again — jglueck@... (Bernhard Glk)
Hi there again..
[#21616] opening a named pipe? — "Avdi B. Grimm" <avdi@...>
I'm having trouble reading from a named pipe in linux. basicly, I'm
On Unix, opening a FIFO will block the process until the other end is also
On Mon, 2001-09-24 at 05:14, Nat Pryce wrote:
[#21645] Ideal ruby browser? — Johann Hibschman <johann@...>
Hi folks,
[#21663] Problems with the mysql-module — Jens Rohde <jr@...>
Hi
Jens Rohde wrote:
On Tue, 25 Sep 2001, Michael Neumann wrote:
Jens Rohde <jr@eos.dk> writes:
[#21668] Help understanding self ... — Phil Mitchell <phil.$DELETEmitchell@...>
I'm defining a simple class that extends Hash. The code below works. What I don't understand is why I can't replace
Okay, but according to Ruby library reference, and pickaxe, [] is a method in class Hash. A method that is called with
[#21669] Ruby-win syntax coloring — "Henning von Rosen" <henning@...>
Ruby win is very convinient in some matters, f ex providing a protected zone
[#21685] manipulating "immutable" objects such as Fixnum from within callbacks & al... — Guillaume Cottenceau <gc@...>
Hello,
> Here's the problem: it happens often that you need to pass "references" to
On Wed, 26 Sep 2001, Joel VanderWerf wrote:
Here's an easy one:
[#21688] net/http problems on FreeBSD 4.4-RC — Jason DiCioccio <geniusj@...>
I'm having the following problems with Net::HTTP on ruby 1.6.4 (and 1.6.5) =
[#21733] Re: manipulating "immutable" objects such as Fixnum from within callbacks & al... — "Brian F. Feldman" <green@...>
ts <decoux@moulon.inra.fr> wrote:
>>>>> "B" == Brian F Feldman <green@FreeBSD.org> writes:
Fair enough, for some reason it didn't work for me. The first thing I
Hi,
[#21740] scope in {} and do-end — "Hal E. Fulton" <hal9000@...>
Question...
[#21744] Running ruby scripts suid-root — "Florian G. Pflug" <fgp@...>
Hi
[#21745] inheritance Surprise! — Bob Gustafson <bobgus@...>
I had a problem with an object which, once it was created, would morph into
On Thu, Sep 27, 2001 at 04:14:43AM +0900, Bob Gustafson wrote:
[#21746] Problems with Net stuff on Win2000/XP — carlyoungblood@... (Carl Youngblood)
Please! I don't have the time or expertise to dig through the ruby
[#21772] Transparent Proxies — jason@... (Jason Voegele)
Hello all,
[#21798] Ruby internal (guide to the source) — "Benoit Cerrina" <benoit.cerrina@...>
Hi,
> The part I'm not sure to understand to well is the relationship between a
Dear All,
What? You didn't write the script in Ruby, but in Perl? ~,^
It does need the environment for the time being, tonight, I'll add in
[#21818] Embedding — "Drirr C." <drirr@...>
Hello
[#21821] ANN: HtmlDomGenerator 0.1 — "Jimmy Thrasher" <jjthrash@...>
I just released HtmlDomGenerator, for those of you who want a DOM =
Hello --
> # You should have received a copy of the GNU General Public License
[ruby-talk:21673] Requesting help... small net app w/ problems
Hello all...
I've been through numerous iterations with
this thing. I hope the code doesn't show it,
but I'm afraid it does.
Any help would be appreciated.
In this email:
1. overview
2. how to invoke
3. server code
4. client code
Besides net difficulties, it's likely
there's a logic error or two.
The code *does* work on a single
machine (both Win98 and Solaris).
Thanks for any insights...
Hal Fulton
===
1. Overview
-----------------
This is a stubbed chess server that does nothing
but put clients in contact with each other so they
can play chess. The clients then talk directly and
ignore the server. (Then one client is really a
server henceforth.)
At first I was using UDP for the initial contact, but
changed to TCP... this helped a little.
The server and each client should ideally all be
run on separate machines for good testing.
2. How to invoke
-----------------------
a. Change ChessServer constant in ch2c.rb
b. Invoke server:
ruby ch2s.rb
c. Invoke 1st client (with any two names -- mine
and the opponent); a colon separates the
opponent's name from his IP name (localhost
is the default)
ruby ch2c.rb Alice Bob:machine2
d. Invoke 2nd client in the corresponding way
ruby ch2c.rb Bob Alice:machine3
e. When prompted for a move, type any arbitrary
string... it's stubbed out.
f. In this dummy version, black always wins on
the fourth move
3. Server code
----------------------
require "thread"
require "socket"
PORT = 12000
HOST = '127.0.0.1'
# Exit if user presses Enter at server end
waiter = Thread.new do
puts "Press Enter to exit the server."
gets
exit
end
$mutex = Mutex.new
$list = {}
def match?(p1, p2)
return false if !$list[p1] or !$list[p2]
if ($list[p1][0] == p2 and $list[p2][0] == p1)
true
else
false
end
end
def handle_client(sess, msg, addr, port, ipname)
$mutex.synchronize do
cmd, player1, player2 = msg.split
# Note: We allow user:hostname on the command line,
# but we store it in the form user:address
p1short = player1.dup # Short names (i.e.,
p2short = player2.split(":")[0] # no ":address"
player1 << ":#{addr}" # Append user's IP addr
user2, host2 = player2.split(":")
if host2 == nil # No IP addr; add it
player2 << ":127.0.0.1"
else
player2 = user2 + ":" + IPSocket.getaddress(host2)
end
if cmd != "login"
puts "Protocol error: client msg was #{msg}"
end
$list[player1] = [player2, addr, port, ipname, sess]
print "hc: "
p $list
if match?(player1, player2)
puts "Got a match!"
# Note these names are "backwards" now: player2
# logged in first, if we got here.
p1 = $list[player1]
p2 = $list[player2]
# Player ID = name:ipname:color
# Color: 0=white, 1=black
p1id = "#{p1short}:#{p1[3]}:1"
p2id = "#{p2short}:#{p2[3]}:0"
sess1 = p1[4]
sess2 = p2[4]
sess1.puts "#{p2id}"
sess2.puts "#{p1id}"
sess1.close
sess2.close
end
end
end
text = nil
$server = TCPServer.new("127.0.0.1", PORT)
while session = $server.accept do
Thread.new(session) do |sess|
text = sess.gets
puts "recvfrom = #{text}"
domain, port, ipname, ipaddr = sess.addr
puts "calling hc"
handle_client sess, text, ipaddr, port, ipname
puts "called hc"
sleep 1
end
end
waiter.join # Exit only if user presses Enter
4. Client
--------------
require "socket"
require "timeout"
ChessServer = 'localhost'
ChessServerPort = 12000
PeerPort = 12001
WHITE, BLACK = 0, 1
Colors = %w[White Black]
def drawBoard(board)
puts <<-EOF
+----------------------------------+
| Stub! Drawing the board here... |
+----------------------------------+
EOF
end
def analyzeMove(who, move, num, board)
# Stub - black always wins on 4th move
if who == BLACK and num == 4
move << " Checkmate!"
end
true # Stub again - always say it's legal.
end
def myMove(who, lastmove, num, board, sock)
ok = false
until ok do
print "\nYour move: "
move = STDIN.gets.chomp
ok = analyzeMove(who, move, num, board)
puts "Illegal move" if not ok
end
sock.puts move
move
end
def otherMove(who, move, num, board, sock)
move = sock.gets.chomp
puts "\nOpponent: #{move}"
move
end
if ARGV[0]
myself = ARGV[0]
else
print "Your name? "
myself = STDIN.gets.chomp
end
if ARGV[1]
opponentID = ARGV[1]
else
print "Your opponent? "
opponentID = STDIN.gets.chomp
end
opponent = opponentID.split(":")[0] # Remove hostname
# Contact the server
socket = TCPSocket.new(ChessServer, ChessServerPort)
response = nil
puts "Sending login to server"
socket.puts "login #{myself} #{opponentID}"
socket.flush
puts "Waiting for response from server"
response = socket.gets.chomp
puts "Got response #{response} from server"
name, ipname, color = response.split ":"
color = color.to_i
if color == BLACK # Other player's color
puts "\nConnecting..."
server = TCPServer.new(ipname, PeerPort)
session = server.accept
str = nil
begin
timeout(30) do
str = session.gets.chomp
if str != "ready"
raise "Protocol error: ready-message was #{str}"
end
end
rescue TimeoutError
raise "Did not get ready-message from opponent."
end
puts "Playing #{opponent}... you are white.\n"
who = WHITE
move = nil
board = nil # Not really used in this dummy example
num = 0
drawBoard(board) # Draw the board initially for white
loop do
num += 1
move = myMove(who, move, num, board, session)
drawBoard(board)
case move
when "resign"
puts "\nYou've resigned. #{opponent} wins."
break
when /Checkmate/
puts "\nYou have checkmated #{opponent}!"
drawBoard(board)
break
end
move = otherMove(who, move, num, board, session)
drawBoard(board)
case move
when "resign"
puts "\n#{opponent} has resigned... you win!"
break
when /Checkmate/
puts "\n#{opponent} has checkmated you."
break
end
end
else # We're black
puts "\nConnecting..."
socket = TCPSocket.new(ipname, PeerPort)
socket.puts "ready"
puts "Playing #{opponent}... you are black.\n"
who = BLACK
move = nil
board = nil # Not really used in this dummy example
num = 0
drawBoard(board) # Draw board initially
loop do
num += 1
move = otherMove(who, move, num, board, socket)
drawBoard(board) # Draw board after white move
case move
when "resign"
puts "\n#{opponent} has resigned... you win!"
break
when /Checkmate/
puts "\n#{opponent} has checkmated you."
break
end
move = myMove(who, move, num, board, socket)
drawBoard(board)
case move
when "resign"
puts "\nYou've resigned. #{opponent} wins."
break
when /Checkmate/
puts "\nYou have checkmated #{opponent}!"
break
end
end
socket.close
end