[#407882] Ruby extremely slow compared to PHP — Mick Jagger <lists@...>

Hello there, how are you? Hope you are fine. I am a PHP programmer

17 messages 2013/06/02

[#407908] TCPServer/Socket and Marshal problem — Panagiotis Atmatzidis <atma@...>

Hello,

18 messages 2013/06/03

[#407946] Is rubyquiz.com dead? — Alphonse 23 <lists@...>

Thread title says everything.

18 messages 2013/06/04

[#408012] Need help understanding recursion. — pedro oliva <lists@...>

Ive been reading Chris Pine's book 'Learn to Program' and its been going

11 messages 2013/06/06

[#408129] Getting Started With Development — Chamila Wijayarathna <cdwijayarathna@...>

I'm new to Ruby Development. I downloaded source from Github, but couldn't

24 messages 2013/06/11
[#408131] Re: Getting Started With Development — Per-erik Martin <lists@...> 2013/06/11

Ruby is often installed on linux, or can be easily installed with the

[#408146] Re: Getting Started With Development — "Chamila W." <lists@...> 2013/06/11

Per-erik Martin wrote in post #1112021:

[#408149] Re: Getting Started With Development — "Carlo E. Prelz" <fluido@...> 2013/06/11

Subject: Re: Getting Started With Development

[#408198] NokoGiri XML Parser — "Devender P." <lists@...>

Hi,

11 messages 2013/06/13

[#408201] trying to load a .rb file in irb — "Eric D." <lists@...>

I am trying to load a ruby program into irb and it will not load.

12 messages 2013/06/13

[#408205] Can I use Sinatra to render dynamic pages? — Ruby Student <ruby.student@...>

Hell Team,

18 messages 2013/06/13
[#408219] Re: Can I use Sinatra to render dynamic pages? — Nicholas Van Weerdenburg <vanweerd@...> 2013/06/14

You should be able to do this without JavaScript by using streaming.

[#408228] Re: Can I use Sinatra to render dynamic pages? — Ruby Student <ruby.student@...> 2013/06/14

Well, I got some good suggestions from everyone here. I thank you all for

[#408275] Compare and sort one array according to another. — masta Blasta <lists@...>

I have two arrays of objects that look something like this:

14 messages 2013/06/17

[#408276] Comparing objects — "Thom T." <lists@...>

How do I compare two objects in Ruby, considering only attributes

15 messages 2013/06/17

[#408307] getting the most out of Ruby — robin wood <lists@...>

I write a lot of scripts in Ruby, most are small simple things but some

13 messages 2013/06/18

[#408309] Creating ruby script exe — Rochit Sen <lists@...>

Hi All,

17 messages 2013/06/18

[#408357] Beginners problem with database and datamapper — cristian cristian <lists@...>

Hi all!

28 messages 2013/06/20

[#408437] How do I input a variable floating point number into Ruby Programs — "Michael P F." <lists@...>

I want to evaluate the following interactively:

10 messages 2013/06/23

[#408518] #!/usr/bin/env: No such file or directory — Todd Sterben <lists@...>

I am new to both linux and ruby. I am using Ubuntu and Ruby 1.9

17 messages 2013/06/27

[#408528] Designing a Cabinet class — Mike Vezzani <lists@...>

Hello all,

12 messages 2013/06/27

[#408561] Find elment in array of hashes — Rodrigo Lueneberg <lists@...>

array = {:id=>1, :price =>0.25} # index[0]

23 messages 2013/06/28

Re: Need help understanding recursion.

From: Alphonse 23 <lists@...>
Date: 2013-06-10 15:47:58 UTC
List: ruby-talk #408112
Sorry if this reply is a little late.

pedro oliva wrote in post #1111657:
> Thanks for the quick replies and all the help.
> Tamara and Brandon, Does The Little Schemer apply to Ruby or is it all
> Scheme??

The little Schemer only applies to scheme.

> example:
>  #we started with
> continent_size(world,5,5) #size=1 here, and now mark this tile as
> 'counted tile'
>
> and continue on to
> size = size + continent_size(world, x-1, y-1) # 1(size) + (recursion
> call with new parameters  to continent_size(world, 4 (5-1), 4 (5-1)
>
> Now at this point do we run the line of code we just ran with the new
> (world 4,4) parameters and continue to recursively run this till we get
> to the base case? In essence keep continuing counting the tiles that are
> in a down-left direction till we run out of land to count? Or Do we move
> on to the next line of code which would be:

We continue on in the downward direction till we either run out of land
or we find the bounds of the map. That is, the base cases of this
recursive method. So, it will continue to build up a stack of calls
until it gets a return.

> size = size + continent_size(world, x , y-1)
>
> and pass the (world, 4,4) parameters that we got from the first line of
> code, then continuously pass the same parameters all the way down the
> rest of the code in the following lines?
>
> size = size + continent_size(world, x+1, y-1)
> size = size + continent_size(world, x-1, y )
> size = size + continent_size(world, x+1, y )
> size = size + continent_size(world, x-1, y+1)
> size = size + continent_size(world, x , y+1)
> size = size + continent_size(world, x+1, y+1)

You can test this yourself:

def continent_size world, x ,y

  print "x: " + x + " y:" y

  if x < 0 or x > 10 or y < 0 or y > 10
    puts " return bounds of map."
    return 0
  end

  if world[y][x] != 'land'
    puts " return no land found."
    return 0
  end

  ....

And you can see the stack build up as it finds more and more land, until
it returns.

-- 
Posted via http://www.ruby-forum.com/.

In This Thread