[#398788] Constructor or a Method — Rubyist Rohit <lists@...>

Take for instance this code:

13 messages 2012/09/01

[#398896] how to sum element of array — Edward QU <lists@...>

dear all

19 messages 2012/09/04

[#398936] best coding for limiting a value — Regis d'Aubarede <lists@...>

A) result=value<min ? min : (value > max ? max : value)

17 messages 2012/09/04

[#398962] Long calculation & time limit — toto tartemolle <lists@...>

Hello,

17 messages 2012/09/05

[#398964] Compiling ruby from source on windows — GPad <peterpan105105@...>

Hi to all,=0AI'm trying to compile ruby on my windows 7. I have already a r=

10 messages 2012/09/05

[#398997] OpenURI open method problem — "Derek T." <lists@...>

The code I am referring to looks like this:

12 messages 2012/09/05

[#399002] Parsing through downloaded html — Sybren Kooistra <lists@...>

Hi all,

28 messages 2012/09/06

[#399012] "Hiding" pictures(and source code if it's possible) — "Damián M. González" <lists@...>

Ey guys, how are you?

11 messages 2012/09/06

[#399083] regix in grep or something like this — Ferdous ara <lists@...>

Hi

12 messages 2012/09/07

[#399206] please help me with making script — Charmaine Willemsen <lists@...>

In this example i like to parse birthday and sexe

11 messages 2012/09/11

[#399218] Pathname#to_str withdrawn in 1.9? — matt@... (Matt Neuburg)

Just getting started experimenting with Ruby 1.9 (1.9.3) and my scripts

13 messages 2012/09/12

[#399227] Breaking Down the Block — incag neato <lists@...>

Can someone please explain in plain english how this block treats the

20 messages 2012/09/13

[#399244] ruby Range to array that acts like time objects? — "Jermaine O." <lists@...>

Hello everybody,

15 messages 2012/09/13

[#399293] Ruby on Ubuntu 12.04 LST — Bojan Jordanovski <lists@...>

Hello everybody,

13 messages 2012/09/14

[#399298] wow, YAML / Psych in 1.9.3 is *slow*! — matt@... (Matt Neuburg)

I just started trying Ruby 1.9.3, coming from Ruby 1.8.7, and was

12 messages 2012/09/14

[#399304] Ruby 1.9.3 and OS X Mountain Lion — sto.mar@...

Hi all,

16 messages 2012/09/14

[#399343] Class variables or Class singleton variables? — "Damián M. González" <lists@...>

Guys, how are you?

18 messages 2012/09/15

[#399386] Ruby - is it worth the effort? — neomex <neomex@...>

Hello,

19 messages 2012/09/17
[#399406] Re: Ruby - is it worth the effort? — Roger Pack <lists@...> 2012/09/17

Unfortunately with Ruby for me it's typically "fun and fast development"

[#399409] Re: Ruby - is it worth the effort? — Peter Zotov <whitequark@...> 2012/09/17

Roger Pack писал 17.09.2012 22:06:

[#399491] Re: Ruby - is it worth the effort? — Robert Klemme <shortcutter@...> 2012/09/19

On Mon, Sep 17, 2012 at 8:20 PM, Peter Zotov <whitequark@whitequark.org> wr=

[#399421] Encoding question — Thomas Bednarz <lists@...>

I am new to ruby and play around with it a little bit at the moment. I

17 messages 2012/09/17

[#399441] Bug or feature — Damjan Rems <lists@...>

There has probably been some discussion about this problem so sorry if I

13 messages 2012/09/18

[#399451] Class variables — Aleksander Ciesielski <neomex@...>

Is it obligatory to use instance variables in classes? Can't we just

17 messages 2012/09/18

[#399479] Ruby SQL Select Sum 2 Columns? — Courtney Fay <lists@...>

I have the following definition which is looking at an apache database,

12 messages 2012/09/18

[#399556] still learning by doing - connecting rooms in a game — "Sebastjan H." <lists@...>

Hi,

28 messages 2012/09/20
[#399570] Re: still learning by doing - connecting rooms in a game — Henry Maddocks <hmaddocks@...> 2012/09/20

[#399574] Re: still learning by doing - connecting rooms in a game — "Sebastjan H." <lists@...> 2012/09/21

Henry Maddocks wrote in post #1076876:

[#399575] Re: still learning by doing - connecting rooms in a game — Henry Maddocks <hmaddocks@...> 2012/09/21

[#399576] Re: still learning by doing - connecting rooms in a game — "Sebastjan H." <lists@...> 2012/09/21

Could you be so kind as to suggest another book? I mean there are many

[#399585] Re: still learning by doing - connecting rooms in a game — "Sebastjan H." <lists@...> 2012/09/21

Sebastjan H. wrote in post #1076909:

[#399572] How would you allow variable from specific list of Fixnum? — Eliezer Croitoru <eliezer@...>

I have:

11 messages 2012/09/21

[#399623] Very important question - survey — Marc Heiler <lists@...>

Is matz more like a ninja or more like a samurai?

11 messages 2012/09/22

[#399695] inject problem — Roelof Wobben <rwobben@...>

26 messages 2012/09/25

[#399714] could initialize return an existing object instead of a new instance? — Gary Weaver <lists@...>

Is it possible for initialize to return an existing object instead of a

9 messages 2012/09/25

[#399811] Good book for getting started with Ruby? [I code Python!] — Alec Taylor <alec.taylor6@...>

I've learned programming in C++, Python and PHP at University. (also

12 messages 2012/09/28

[#399815] calcaulation with unknown numbers of numbers and options fail — Roelof Wobben <rwobben@...>

11 messages 2012/09/28

Re: inject problem

From: Roelof Wobben <rwobben@...>
Date: 2012-09-25 18:51:34 UTC
List: ruby-talk #399719
Thanks but I did not solve my problem.

Here is the whole script :

require File.expand_path(File.dirname(__FILE__) + '/edgecase')

# Greed is a dice game where you roll up to five dice to accumulate
# points.  The following "score" function will be used to calculate the
# score of a single roll of the dice.
#
# A greed roll is scored as follows:
#
# * A set of three ones is 1000 points
#
# * A set of three numbers (other than ones) is worth 100 times the
#   number. (e.g. three fives is 500 points).
#
# * A one (that is not part of a set of three) is worth 100 points.
#
# * A five (that is not part of a set of three) is worth 50 points.
#
# * Everything else is worth 0 points.
#
#
# Examples:
#
# score([1=2C1=2C1=2C5=2C1]) =3D> 1150 points
# score([2=2C3=2C4=2C6=2C2]) =3D> 0 points
# score([3=2C4=2C5=2C3=2C3]) =3D> 350 points
# score([1=2C5=2C1=2C2=2C4]) =3D> 250 points
#
# More scoring examples are given in the tests below:
#
# Your goal is to write the score method.

def score(dice)
  total =3D 0=20
  h =3D Hash.new(0)
  dice.each {|el| h[el] +=3D 1}=20

 dice.each {|number=2C count|
   if number =3D=3D 1 and count =3D=3D 6 then return 2000 end
   if number !=3D 1 and count =3D=3D 3 then total =3D total + 100 * count e=
nd
   if number !=3D 1 and count =3D=3D 6 then return 600 end
   if number =3D=3D 1 and (count > 3) then total =3D total + ( 100 + ( coun=
t - 3)) end
   if number =3D=3D 1 and (count < 3) then total =3D total   + 100 * count =
end
   if number =3D=3D 5 and (count > 3) then total =3D total + ( 50 * (count =
-3)) end
   if number =3D=3D 5 and (count < 3) then total =3D total +  50 * count en=
d
    }

end
 =20

class AboutScoringProject < EdgeCase::Koan
  def test_score_of_an_empty_list_is_zero
    assert_equal 0=2C score([])
  end

  def test_score_of_a_single_roll_of_5_is_50
    assert_equal 50=2C score([5])
  end

  def test_score_of_a_single_roll_of_1_is_100
    assert_equal 100=2C score([1])
  end

  def test_score_of_multiple_1s_and_5s_is_the_sum_of_individual_scores
    assert_equal 300=2C score([1=2C5=2C5=2C1])
  end

  def test_score_of_single_2s_3s_4s_and_6s_are_zero
    assert_equal 0=2C score([2=2C3=2C4=2C6])
  end

  def test_score_of_a_triple_1_is_1000
    assert_equal 1000=2C score([1=2C1=2C1])
  end

  def test_score_of_other_triples_is_100x
    assert_equal 200=2C score([2=2C2=2C2])
    assert_equal 300=2C score([3=2C3=2C3])
    assert_equal 400=2C score([4=2C4=2C4])
    assert_equal 500=2C score([5=2C5=2C5])
    assert_equal 600=2C score([6=2C6=2C6])
  end

  def test_score_of_mixed_is_sum
    assert_equal 250=2C score([2=2C5=2C2=2C2=2C3])
    assert_equal 550=2C score([5=2C5=2C5=2C5])
  end

end

And I now get this error: <0> expected but was  <[]>.
When I make that one a comment :

def test_score_of_an_empty_list_is_zero

    #assert_equal 0=2C score([])

  end

Then I see this error appear :=20

The answers you seek...
  undefined method `>' for nil:NilClass

Please meditate on the following code:
  ./about_scoring_project.rb:43:in `score'
  ./about_scoring_project.rb:37:in `each'
  ./about_scoring_project.rb:37:in `score'
  ./about_scoring_project.rb:56:in `test_score_of_a_single_roll_of_5_is_50'
  /home/roelof/koans/edgecase.rb:398:in `send'
  /home/roelof/koans/edgecase.rb:398:in `meditate'
  /home/roelof/koans/edgecase.rb:470:in `walk'
  /home/roelof/koans/edgecase.rb:481:in `each_step'
  /home/roelof/koans/edgecase.rb:479:in `each'
  /home/roelof/koans/edgecase.rb:479:in `each_step'
  path_to_enlightenment.rb:38:in `each_with_index'
  /home/roelof/koans/edgecase.rb:478:in `each'
  /home/roelof/koans/edgecase.rb:478:in `each_with_index'
  /home/roelof/koans/edgecase.rb:478:in `each_step'
  /home/roelof/koans/edgecase.rb:476:in `catch'
  /home/roelof/koans/edgecase.rb:476:in `each_step'
  /home/roelof/koans/edgecase.rb:469:in `walk'
  /home/roelof/koans/edgecase.rb:491
  path_to_enlightenment.rb:38


So something is not well here ?

Roelof



> Date: Wed=2C 26 Sep 2012 03:26:55 +0900
> From: lists@ruby-forum.com
> Subject: Re: inject problem
> To: ruby-talk@ruby-lang.org
>=20
> Roelof Wobben wrote in post #1077503:
> >   h =3D Hash.new(0)
> >   dice.each {|el| dice[el] +=3D 1}
> > [...]
> > But now I'm getting this error : undefined method `+' for nil:NilClass
>=20
> You want h[el] +=3D 1=2C not dice[el] +=3D 1. See the original code by Je=
s=FAs.
>=20
> --=20
> Posted via http://www.ruby-forum.com/.
 		 	   		  =

In This Thread