[#323782] Help with HTML parsing — Vivek Netha <vivnet@...>

Hello,

13 messages 2009/01/01

[#323881] Default values of hashes — Glenn <glenn_ritz@...>

Hi,

16 messages 2009/01/03

[#323906] VERY simple question about "?" — Tom Cloyd <tomcloyd@...>

I absolutely love Ruby, but...I've always found the subject of Ruby

25 messages 2009/01/04
[#323908] Re: VERY simple question about "?" — "F. Senault" <fred@...> 2009/01/04

Le 4 janvier 2009 12:58, Tom Cloyd a 馗rit :

[#323910] Re: VERY simple question about "?" — "Yaser Sulaiman" <yaserbuntu@...> 2009/01/04

On Sun, Jan 4, 2009 at 3:34 PM, F. Senault <fred@lacave.net> wrote:

[#323913] Re: VERY simple question about "?" — Tom Cloyd <tomcloyd@...> 2009/01/04

Yaser Sulaiman wrote:

[#323920] Re: VERY simple question about "?" — Robert Klemme <shortcutter@...> 2009/01/04

On 04.01.2009 14:48, Tom Cloyd wrote:

[#323923] Re: VERY simple question about "?" — "Michael Guterl" <mguterl@...> 2009/01/04

On Sun, Jan 4, 2009 at 9:48 AM, Robert Klemme

[#323924] Re: VERY simple question about "?" — "Robert Klemme" <shortcutter@...> 2009/01/04

2009/1/4 Michael Guterl <mguterl@gmail.com>:

[#323944] Re: VERY simple question about "?" — Tom Cloyd <tomcloyd@...> 2009/01/04

Robert Klemme wrote:

[#323956] How can I prevent require duplicate files — Zhao Yi <youhaodeyi@...>

In a big ruby project, how to prevent requiring a file multiple times?

12 messages 2009/01/05

[#324027] WANTED: need a real web API for rubyforge.org — Ryan Davis <ryand-ruby@...>

I just released version 1.0.2 of the rubyforge command line client. It

38 messages 2009/01/05
[#324040] Re: WANTED: need a real web API for rubyforge.org — Trans <transfire@...> 2009/01/06

[#324065] Re: WANTED: need a real web API for rubyforge.org — Tiago Nogueira <tjnogueira@...> 2009/01/06

Trans escreveu:

[#324145] Re: WANTED: need a real web API for rubyforge.org — "Gregory Brown" <gregory.t.brown@...> 2009/01/07

On Tue, Jan 6, 2009 at 6:08 AM, Tiago Nogueira <tjnogueira@oomaster.com> wrote:

[#324146] Re: WANTED: need a real web API for rubyforge.org — Tiago Nogueira <tjnogueira@...> 2009/01/07

Gregory Brown escreveu:

[#324152] Re: WANTED: need a real web API for rubyforge.org — "Gregory Brown" <gregory.t.brown@...> 2009/01/07

On Wed, Jan 7, 2009 at 11:07 AM, Tiago Nogueira <tjnogueira@oomaster.com> wrote:

[#324155] Re: WANTED: need a real web API for rubyforge.org — Tiago Nogueira <tjnogueira@...> 2009/01/07

Gregory Brown escreveu:

[#324163] Re: WANTED: need a real web API for rubyforge.org — "Gregory Brown" <gregory.t.brown@...> 2009/01/07

On Wed, Jan 7, 2009 at 11:38 AM, Tiago Nogueira <tjnogueira@oomaster.com> wrote:

[#324159] Re: WANTED: need a real web API for rubyforge.org — Marcelo <marcelo.magallon@...> 2009/01/07

On Wed, Jan 7, 2009 at 10:07 AM, Tiago Nogueira <tjnogueira@oomaster.com> wrote:

[#324127] a good career choice ? — waterinmylungss@...

Hello, I am from the USA and I graduated last year with a BS. I've

23 messages 2009/01/07

[#324194] functional programming — "Haris Bogdanovic" <fbogdanovic@...>

Hi.

87 messages 2009/01/08
[#324498] Re: functional programming — pjb@... (Pascal J. Bourguignon) 2009/01/10

Brian Candler <b.candler@pobox.com> writes:

[#324502] Re: functional programming — Brian Candler <b.candler@...> 2009/01/10

Pascal J. Bourguignon wrote:

[#324340] How Ruby — Dhushyanth Ramasamy <r.dushyanth@...>

Well i read the posts on "Why ruby" now I wanted to know "How Ruby":

22 messages 2009/01/09
[#324341] Re: How Ruby — Mike Stephens <rubfor@...> 2009/01/09

My view is you start out simple and straightforward. There are no Police

[#324398] Q: most efficient way to remove duplicate spaces in a string? — Mark Watson <mark.watson@...>

I don't usually worry too much about efficiency unless runtime

14 messages 2009/01/09

[#324410] Behavior of 0 and 0.0... — Raphael Clancy <raphael.clancy@...>

I was playing around with the basic math functions, and I had some

16 messages 2009/01/09

[#324420] value of an expression? — Kedar Mhaswade <kedar.mhaswade@...>

Sorry if this is asked before and I could not find its answer. Take a

20 messages 2009/01/09

[#324519] Binding.of_caller examples don't work. — Doug <doug14@...>

I'm trying to use the Binding class in the extensions library

17 messages 2009/01/10

[#324561] reccommended work flow for unit tests and databases in ruby — Adam Akhtar <adamtemporary@...>

How does one go around creating unit tests for database tables during

15 messages 2009/01/11

[#324692] what's the rules re whether a Hash can use either a Symbol or String to reference the value??? — "Greg Hauptmann" <greg.hauptmann.ruby@...>

Hi,

9 messages 2009/01/12

[#324793] Returning a duplicate from an Array — Jeff Miller <loadeddesigns@...>

Hey guys,

12 messages 2009/01/13

[#324830] Higher order ruby — zslevi <zslevi@...>

foo = lambda {|x| lambda {|y| return x+y}}

13 messages 2009/01/14

[#324844] Why do true and false have separate classes — Ruby Rabbit <sentinel.2001@...>

This has puzzled me a bit. I googled and came up with responses like --

18 messages 2009/01/14

[#324870] Ncurses like library? — Tim Mcd <tmcdowell@...>

Excuse me, but does anyone know of an Ncurses-like library for Ruby? For

20 messages 2009/01/14

[#324898] 10 things to be aware of in 1.8 -> 1.9 transition — "David A. Black" <dblack@...>

Hi --

23 messages 2009/01/14

[#324935] Quizmaster Retiring: Revenge of the Sith — Matthew Moss <matt@...>

Sorry for the dorky subject line...

38 messages 2009/01/14
[#325027] Re: Quizmaster Retiring: Revenge of the Sith — "Martin DeMello" <martindemello@...> 2009/01/15

On Thu, Jan 15, 2009 at 5:07 AM, Matthew Moss <matt@moss.name> wrote:

[#325055] Re: Quizmaster Retiring: Revenge of the Sith — "Robert Dober" <robert.dober@...> 2009/01/16

Sorry Matthew if I let some of our private discussions out here but I

[#325121] Re: Quizmaster Retiring: Revenge of the Sith — Matthew Moss <matt@...> 2009/01/16

> But it is interesting to note that we had quite some discussions and I

[#325123] Re: Quizmaster Retiring: Revenge of the Sith — "Robert Dober" <robert.dober@...> 2009/01/16

On Fri, Jan 16, 2009 at 5:05 PM, Matthew Moss <matt@moss.name> wrote:

[#325144] Re: Quizmaster Retiring: Revenge of the Sith — "Daniel Moore" <yahivin@...> 2009/01/16

Hello Everyone,

[#325149] Re: Quizmaster Retiring: Revenge of the Sith — Matthew Moss <matt@...> 2009/01/16

[#325021] Desktop <-> Web — Trans <transfire@...>

I want to interface a desktop application to a backend web

19 messages 2009/01/15
[#325066] Re: Desktop <-> Web — Martin DeMello <martindemello@...> 2009/01/16

On Thu, Jan 15, 2009 at 10:39 PM, Trans <transfire@gmail.com> wrote:

[#325046] RubyGem, find path of installed gem through ruby. — Aaron Smith <beingthexemplary@...>

Hey All,

11 messages 2009/01/16

[#325070] Describing degerate dna strings — George George <george.githinji@...>

I am working with strings of 4 letter alphabet a,c,t,g that describe

12 messages 2009/01/16

[#325114] How to refresh Image through ajax request — Kumar Saurav <saurav@...>

Hi all ,

13 messages 2009/01/16

[#325217] 1.8.6 OCI binary extension question — Tim Hunter <TimHunter@...>

I'm trying to build a new release of RMagick that is compatible with the

10 messages 2009/01/17

[#325218] Re: reading file to list — Xah Lee <xahlee@...>

comp.lang.lisp,comp.lang.scheme,comp.lang.functional,comp.lang.python,comp.lang.ruby

18 messages 2009/01/17

[#325234] If you use PDF::Writer, read this post! — Gregory Brown <gregory.t.brown@...>

I'm getting very few requests for features to add to Prawn that exist

19 messages 2009/01/18
[#325235] Re: If you use PDF::Writer, read this post! — Stefan Lang <perfectly.normal.hacker@...> 2009/01/18

2009/1/18 Gregory Brown <gregory.t.brown@gmail.com>:

[#325236] Re: If you use PDF::Writer, read this post! — Gregory Brown <gregory.t.brown@...> 2009/01/18

On Sat, Jan 17, 2009 at 9:00 PM, Stefan Lang

[#325242] Re: If you use PDF::Writer, read this post! — Trans <transfire@...> 2009/01/18

[#325243] Re: If you use PDF::Writer, read this post! — Gregory Brown <gregory.t.brown@...> 2009/01/18

On Sat, Jan 17, 2009 at 10:12 PM, Trans <transfire@gmail.com> wrote:

[#325254] Re: If you use PDF::Writer, read this post! — "Redd Vinylene" <reddvinylene@...> 2009/01/18

Does anybody use this stuff as an alternative to LaTeX?

[#325353] Converting binary image file to bmp file using RMagick2.0 — Kamaljeet Saini <kamaljeet_singh_saini@...>

We are trying to convert "image1.txt" file which is a binary file to

18 messages 2009/01/19
[#325495] Re: Converting binary image file to bmp file using RMagick2.0 — Heesob Park <phasis@...> 2009/01/21

Hi,

[#325629] Re: Converting binary image file to bmp file using RMagick2.0 — Kamaljeet Saini <kamaljeet_singh_saini@...> 2009/01/22

The above posting code worked fine for 704/480 binary to image file but

[#325417] Is it possible to install exe via ruby code ? — jazzez ravi <jazzezravi@...>

I have a exe file in c:/test.exe

13 messages 2009/01/20
[#325418] Re: Is it possible to install exe via ruby code ? — jazzez ravi <jazzezravi@...> 2009/01/20

Sorry for the wrong code in previous post

[#325542] String doesnt auto dup on modification — RK Sentinel <sentinel.2001@...>

I'm writing my first largeish app. One issue that gets me frequently is

34 messages 2009/01/21

[#325602] Separate random number generators? — Bart Braem <bart.braem@...>

For simulation work, I want to use multiple, independent random number

19 messages 2009/01/22

[#325649] Choosing the most appropiate Ruby version and programming model to develop a SIP server — Iñaki Baz Castillo <ibc@...>

Hi, I need to do a choice between the various Ruby versions (1.8, 1.9, JRuby,

11 messages 2009/01/22
[#325675] Re: Choosing the most appropiate Ruby version and programming model to develop a SIP server — Brian Candler <b.candler@...> 2009/01/23

I単aki Baz Castillo wrote:

[#325683] Re: Choosing the most appropiate Ruby version and programming model to develop a SIP server — Iñaki Baz Castillo <ibc@...> 2009/01/23

2009/1/23 Brian Candler <b.candler@pobox.com>:

[#325652] How to receive data using socket programming — Kamaljeet Saini <kamaljeet_singh_saini@...>

Hi,

11 messages 2009/01/22

[#325668] Gathering Ruby Quiz 2 Data (#189) — Daniel Moore <yahivin@...>

Greetings!

12 messages 2009/01/23

[#325870] Need help for Ruby DBI and PostgreSQl — Manisha Tripathy <pujari.manisha@...>

Hi,

14 messages 2009/01/26

[#325921] nokogirl on ubuntu: failed to build gem native extension — Edouard Dantes <edrd.dantes@...>

Hi,

13 messages 2009/01/27

[#325971] Ruby interpreter not working — Will Dresh <w.dresh@...>

Hello,

14 messages 2009/01/27
[#325972] Re: Ruby interpreter not working — Stefano Crocco <stefano.crocco@...> 2009/01/27

Alle marted狸 27 gennaio 2009, Will Dresh ha scritto:

[#325973] Re: [initialize keyword] Ruby interpreter not working — Rodrigo Bermejo <rodrigo.bermejo@...> 2009/01/27

Stefano Crocco wrote:

[#325974] replacing callcc by catch/throw — Thomas Hafner <thomas@...>

Hello,

16 messages 2009/01/27

[#325983] Super User Can't Change UID? — James Gray <james@...>

Why would the super user not be able to switch UID's?

14 messages 2009/01/27

[#326070] Ruby on Solaris 10 performance problems — Colin Mackenzie <colmac@...>

We just installed ruby on a

18 messages 2009/01/28

[#326084] Bitwise question — "Andrew Barringer" <abarringer@...>

I'm working on a project that has a bitmap of permissions and I need to

14 messages 2009/01/28

[#326101] proper use of classes — Tom Cloyd <tomcloyd@...>

Greetings...

32 messages 2009/01/29
[#326439] Its a Free Language — Mike Stephens <rubfor@...> 2009/01/31

An attractive aspect of Ruby is how it is usually presented as agnostic

[#326461] Re: Its a Free Language — "Sean O'Halpin" <sean.ohalpin@...> 2009/02/01

On Sat, Jan 31, 2009 at 11:00 PM, Mike Stephens <rubfor@recitel.net> wrote:

[#326106] RDoc 2.3 now with Darkfish, without CHM and extra HTML templates — Eric Hodel <drbrain@...7.net>

This release of RDoc brings some big changes. Most notably Michael

39 messages 2009/01/29
[#326250] Re: RDoc 2.3 now with Darkfish, without CHM and extra HTML templates — Clifford Heath <no@...> 2009/01/30

Eric Hodel wrote:

[#326262] Re: RDoc 2.3 now with Darkfish, without CHM and extra HTML templates — James Gray <james@...> 2009/01/30

On Jan 30, 2009, at 5:27 AM, Clifford Heath wrote:

[#326196] How to do a for loop...and iterate a set number of times? — Dan No <dan.cao.nguyen@...>

So painfully basic, but I'm just starting Ruby and am coming to it from

9 messages 2009/01/29

[#326241] Object#singleton_class in Ruby 1.9? — Suraj Kurapati <snk@...>

Hello,

48 messages 2009/01/30
[#326249] Re: Object#singleton_class in Ruby 1.9? — "David A. Black" <dblack@...> 2009/01/30

Hi --

[#326270] Re: Object#singleton_class in Ruby 1.9? — Yukihiro Matsumoto <matz@...> 2009/01/30

Hi,

[#326400] Re: Object#singleton_class in Ruby 1.9? — Robert Dober <robert.dober@...> 2009/01/31

On Fri, Jan 30, 2009 at 4:28 PM, Yukihiro Matsumoto <matz@ruby-lang.org> wrote:

[#326415] Re: Object#singleton_class in Ruby 1.9? — Thomas Sawyer <transfire@...> 2009/01/31

Robert Dober wrote:

[#326460] Re: Object#singleton_class in Ruby 1.9? — "Sean O'Halpin" <sean.ohalpin@...> 2009/02/01

On Sat, Jan 31, 2009 at 8:03 PM, Thomas Sawyer <transfire@gmail.com> wrote:

[#326465] Re: Object#singleton_class in Ruby 1.9? — "David A. Black" <dblack@...> 2009/02/01

Hi --

[#326526] Re: Object#singleton_class in Ruby 1.9? — Thomas Sawyer <transfire@...> 2009/02/02

David A. Black wrote:

[#326276] Ruby 1.9.1 is released — "Yugui (Yuki Sonoda)" <yugui@...>

-----BEGIN PGP SIGNED MESSAGE-----

51 messages 2009/01/30

[#326412] Array#to_h — Roger Pack <rogerpack2005@...>

Not that I would find it useful at all, but is there is a Hash#to_a

19 messages 2009/01/31

Re: [QUIZ] Monopoly Walker (#188)

From: "Daniel Moore" <yahivin@...>
Date: 2009-01-18 16:29:54 UTC
List: ruby-talk #325272
On Fri, Jan 16, 2009 at 7:48 AM, Matthew Moss <matt@moss.name> wrote:

> ## Monopoly Walker
>
>
> Your task this week is to simulate players walking about a Monopoly board.
> You are not implementing the whole game; rather, you are to simulate and
> track just the players' movement. Throw dice, move tokens. Keep track of the
> properties where players land and how often.

My solution is pretty straightforward, I have a Property class and a
Board class. The board holds an array of properties. The interesting
thing comes when some properties have a special move, like "Advance to
St. Charles Place". I used some Procs to keep track of the extra move
behavior. The simulation part involves throwing the dice, then
following all moves until the token stays put (sometimes you can land
on Chance, go back three spaces, land on Community Chest, then advance
to GO).

The first argument to the program states the number of dice throws to
simulate, if none is given 100000 is used.

# Ruby Quiz #188
# Monopoly Walker
# Daniel Moore

# Get some dice action going on
class Fixnum
  def d(sides)
    sum = 0
    self.times {sum += Kernel.rand(sides) + 1}
    return sum
  end
end

# Cells keep track of their own hit count and any crazy bonus moves
class Property
  @@property_count = 0
  attr_accessor :count

  def initialize(name, block)
    @count = 0
    @name = name.gsub('_', ' ')
    @position = @@property_count
    @@property_count += 1
    @move_block = block
  end

  # Record that the token landed on this cell
  # Return any bonus move (new location)
  def land
    @count += 1
    # Sometimes cells have a bonus move, this returns
    # the new location, could be the same if no bonus move.
    @move_block.call(@position)
  end

  # Print out this cells name and count
  def to_s
    "(#{"%02d" % @position}) #{@name}#{spacing}- #{@count}"
  end

  # Arbitrary spacing to format the output cleanly
  def spacing
    s = " "
    (21 - @name.size).times do
      s += " "
    end
    s
  end
end

class Board
  PROPERTY_NAMES = %w[GO Mediterranean Community_Chest Baltic
Income_Tax Reading_Railroad Oriental Chance Vermont Connecticut
    Jail/Just_Visiting St._Charles_Place Electric_Company States
Virginia Pennsylvania_Railroad St._James_Place Community_Chest
Tennessee New_York
    Free_Parking Kentucky Chance Indiana Illinois B&O_Railroad
Atlantic Ventnor Water_Works Marvin_Gardins
    Go_To_Jail Pacific North_Carolina Community_Chest Pennsylvania
Short_Line_Railroad Chance Park_Place Luxury_Tax Boardwalk]

  # Some Board positions
  GO_POSITION = 0
  READING_POSITION = 5
  JAIL_POSITION = 10
  ST_CHARLES_POSITION = 11
  ELECTRIC_COMPANY_POSITION = 12
  ILLINOIS_POSITION = 24
  WATER_WORKS_POSITION = 28
  BOARDWALK_POSITION = 39

  CHANCE_CARDS = 15
  COMMUNITY_CHEST_CARDS = 16
  BOARD_SIZE = 40

  COMMUNITY_CHEST_EFFECT = Proc.new do |cur_pos|
    # Simulate 16 card Community chest deck
    case Kernel.rand(COMMUNITY_CHEST_CARDS)
    when 0
      GO_POSITION
    when 1
      JAIL_POSITION
    else
      # This card does not have an effect on position
      cur_pos
    end
  end

  CHANCE_EFFECT = Proc.new do |cur_pos|
    case Kernel.rand(CHANCE_CARDS)
    when 0
      GO_POSITION
    when 1
      ILLINOIS_POSITION
    when 2
      # Nearest Utility
      if (cur_pos >= WATER_WORKS_POSITION) || (cur_pos <
ELECTRIC_COMPANY_POSITION)
        ELECTRIC_COMPANY_POSITION
      else
        WATER_WORKS_POSITION
      end
    when 3..4
      # Nearest Railroad
      case cur_pos
      when 5..14
        15
      when 15..24
        25
      when 25..34
        35
      else
        READING_POSITION
      end
    when 5
      ST_CHARLES_POSITION
    when 6
      # Go back three spaces
      cur_pos - 3
    when 7
      JAIL_POSITION
    when 8
      READING_POSITION
    when 9
      BOARDWALK_POSITION
    else
      # This card does not have an effect on position
      cur_pos
    end
  end

  # Roll 2d6
  def roll
    2.d 6
  end

  def initialize
    # Stay put Proc, used in most regular cells
    stay_put = Proc.new {|cur_pos| cur_pos}

    proc_for_name = {
      "Community_Chest" => COMMUNITY_CHEST_EFFECT,
      "Chance" => CHANCE_EFFECT,
      "Go_To_Jail" => Proc.new do |cur_pos|
        JAIL_POSITION
      end
    }

    @properties = PROPERTY_NAMES.map do |name|
      # Create the property and give it it's bonus move behavior proc
      Property.new(name, proc_for_name[name] || stay_put)
    end
  end

  def simulate(moves)
    @moves = moves
    position = 0

    @moves.times do
      position += roll

      # Land on the properties and keep following the cards until we stay put
      while( position != (new_position = (@properties[position %
BOARD_SIZE]).land) ) do
        position = new_position
        # Track the extra moves
        @moves += 1
      end
    end
  end

  # Displays the results of the simulation
  # Permanently alters the cells making them unsuitable for
  # further simulation.
  def display
    puts "Total hits in board order after #{@moves} turns:"
    puts @properties
    puts "------"

    puts "Sorted by Relative Frequency: "
    # Sort and display results
    @properties.sort{|a, b| b.count <=> a.count }.each do |property|
      property.count = "%1.4f%" % (property.count * 100 / @moves.to_f)
      puts property
    end
    puts "------"
  end
end

board = Board.new

board.simulate((ARGV[0] || 100000).to_i)
board.display


------
Sorted by Relative Frequency:
(10) Jail/Just Visiting    - 5.0612%
(00) GO                    - 4.4737%
(05) Reading Railroad      - 3.8067%
(01) Mediterranean         - 3.5400%
(03) Baltic                - 3.3674%
(04) Income Tax            - 3.3528%
(02) Community Chest       - 3.2069%
(06) Oriental              - 2.7579%
(24) Illinois              - 2.6526%
(19) New York              - 2.5675%
(25) B&O Railroad          - 2.5140%
(08) Vermont               - 2.4062%
(17) Community Chest       - 2.3746%
(21) Kentucky              - 2.3462%
(18) Tennessee             - 2.3341%
(16) St. James Place       - 2.3292%
(20) Free Parking          - 2.3227%
(22) Chance                - 2.3154%
(11) St. Charles Place     - 2.3130%
(09) Connecticut           - 2.3090%
(15) Pennsylvania Railroad - 2.3057%
(28) Water Works           - 2.3033%
(26) Atlantic              - 2.2676%
(31) Pacific               - 2.1947%
(39) Boardwalk             - 2.1923%
(33) Community Chest       - 2.1898%
(30) Go To Jail            - 2.1817%
(12) Electric Company      - 2.1525%
(23) Indiana               - 2.1404%
(07) Chance                - 2.1193%
(32) North Carolina        - 2.1145%
(29) Marvin Gardins        - 2.1023%
(27) Ventnor               - 2.0861%
(34) Pennsylvania          - 2.0610%
(14) Virginia              - 2.0350%
(35) Short Line Railroad   - 2.0026%
(13) States                - 1.8964%
(36) Chance                - 1.8778%
(38) Luxury Tax            - 1.7376%
(37) Park Place            - 1.6882%
------

-- 
-Daniel
http://strd6.com

In This Thread