[#316551] "ensure" hiding actual error — Nit Khair <sentinel.2001@...>

In my main program I have a "begin ensure end".

19 messages 2008/10/01
[#316566] Re: "ensure" hiding actual error — "Robert Klemme" <shortcutter@...> 2008/10/01

2008/10/1 Nit Khair <sentinel.2001@gmx.com>:

[#316570] Re: "ensure" hiding actual error — Nit Khair <sentinel.2001@...> 2008/10/01

Robert Klemme wrote:

[#316579] Re: "ensure" hiding actual error — "Robert Klemme" <shortcutter@...> 2008/10/01

2008/10/1 Nit Khair <sentinel.2001@gmx.com>:

[#316583] Re: "ensure" hiding actual error — Nit Khair <sentinel.2001@...> 2008/10/01

Robert Klemme wrote:

[#316585] Re: "ensure" hiding actual error — "Thomas B." <tpreal@...> 2008/10/01

Nit Khair wrote:

[#316589] Re: "ensure" hiding actual error — "Robert Klemme" <shortcutter@...> 2008/10/01

2008/10/1 Thomas B. <tpreal@gmail.com>:

[#316617] Ordered hash hack for < ruby 1.9? — Ben Johnson <bjohnson@...>

I am having an issue testing my code because hashes don't have a

22 messages 2008/10/01
[#316620] Re: Ordered hash hack for < ruby 1.9? — "Patrick Doyle" <wpdster@...> 2008/10/01

Why not iterate over myhash.keys.sort instead of just myhash.keys?

[#316704] Problem extending (adding methods) to class — Nit Khair <sentinel.2001@...>

I am trying to extend a class developed by someone else (its from the

24 messages 2008/10/02
[#316707] Re: Problem extending (adding methods) to class — Nit Khair <sentinel.2001@...> 2008/10/02

Nit Khair wrote:

[#316723] Is Assignment in a Conditional an Idiom? — worthee@...

Hi

19 messages 2008/10/02

[#316839] class << self — "Patrick Doyle" <wpdster@...>

Sorry if this is a FAQ, but I was just looking at some Ruby code and

14 messages 2008/10/03

[#316847] Making/Compiling Gems on Windows with MinGW — Cayce Balara <house@...>

Whenever I try to install a gem that doesn't have a precompiled binary

11 messages 2008/10/03

[#316907] stream closed (IOError) — "Eric Will" <rakaur@...>

This code:

17 messages 2008/10/05
[#316910] Re: stream closed (IOError) — Yukihiro Matsumoto <matz@...> 2008/10/05

Hi,

[#316920] Re: stream closed (IOError) — "Eric Will" <rakaur@...> 2008/10/05

Line 231 is the @socket.close line. Nothing gets done to the socket

[#316925] Re: stream closed (IOError) — Yukihiro Matsumoto <matz@...> 2008/10/05

Hi,

[#316926] Re: stream closed (IOError) — "Eric Will" <rakaur@...> 2008/10/05

On Sun, Oct 5, 2008 at 11:46 AM, Yukihiro Matsumoto <matz@ruby-lang.org> wrote:

[#316927] Re: stream closed (IOError) — Iki Baz Castillo <ibc@...> 2008/10/05

El Domingo, 5 de Octubre de 2008, Eric Will escribi=F3:

[#316968] Ruby lacks atfork : The evil that lives in fork... — John Carter <john.carter@...>

Consider this simple usage of Thread and Process....

12 messages 2008/10/06

[#316978] Concurent (using threads) slower than sequential -doubt — Carlos Ortega <caof2005@...>

Hi Folks.

10 messages 2008/10/06

[#316988] Problem with comparing huge amount of strings — Jan Fischer <janfischer@...>

Hello together,

11 messages 2008/10/06

[#317122] Demand that Obama release his college records! Where is the media? — Micky <guuwwe@...>

Why is it important to see Obama's college records? Because the media

11 messages 2008/10/07

[#317126] Ruby with Oracle forward slash error — Sam Sang <younoeme@...>

Hi,

12 messages 2008/10/07

[#317127] Looking for more Ruby-like way to create an array — Steve Nicholson <ssteve@...>

I'm creating an array that is the result of the members of another array

11 messages 2008/10/07

[#317326] Thread: super should be first line or last line? — "christoforever@..." <christoforever@...>

While playing around with ruby threads I noticed that if you dont call

11 messages 2008/10/10

[#317337] Modular Arithmetic (#179) — Matthew Moss <matt@...>

-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D=

15 messages 2008/10/10

[#317395] Automatic ClassLoader (to eliminate 'require') — Alexey Petrushin <axyd80@...>

Hello!

17 messages 2008/10/11
[#317397] Re: Automatic ClassLoader (to eliminate 'require') — Erik Veenstra <erikveen@...> 2008/10/11

module AutoRequire

[#317402] Re: Automatic ClassLoader (to eliminate 'require') — Alexey Petrushin <axyd80@...> 2008/10/11

Thanks! It works! :)

[#317403] Re: Automatic ClassLoader (to eliminate 'require') — "Thomas B." <tpreal@...> 2008/10/11

Alexey Petrushin wrote:

[#317422] Sample for Metaprogramming — relzne@...

Hi.

13 messages 2008/10/11

[#317452] Updating Ruby 1.8.6 to 1.8.6-p287 in Debian 4 — The Neurochild <neurochild@...>

Hi

21 messages 2008/10/12

[#317502] Sorting help — Binh Ly <binh@...>

Hello All,

19 messages 2008/10/12

[#317601] Using DBI and MySQL gems — Owein Herrmann <oherrmann@...>

Quick question:

14 messages 2008/10/13

[#317758] Big endian convention in Ruby — Zangief Ief <z4n9ief@...>

Hello,

18 messages 2008/10/16
[#317767] Re: Big endian convention in Ruby — Robert Klemme <shortcutter@...> 2008/10/16

On 16.10.2008 10:26, Zangief Ief wrote:

[#317772] Re: Big endian convention in Ruby — Zangief Ief <z4n9ief@...> 2008/10/16

Thanks you for you answer.

[#317800] Re: Big endian convention in Ruby — Brian Candler <b.candler@...> 2008/10/16

Zangief Ief wrote:

[#317820] Re: Big endian convention in Ruby — Robert Klemme <shortcutter@...> 2008/10/16

On 16.10.2008 15:25, Brian Candler wrote:

[#317936] Re: Big endian convention in Ruby — Zangief Ief <z4n9ief@...> 2008/10/17

Thank you all for your help.

[#317759] How to go from a ruby script to a working website? — Ralph Wood <esmero@...>

As you've probably guessed by the title, total newbie here.

12 messages 2008/10/16

[#317769] A Ruby block question — David Trasbo <davidtrasbo@...>

I am in need of making a method that accepts a block. It basicly needs

23 messages 2008/10/16
[#317770] Re: A Ruby block question — Stefano Crocco <stefano.crocco@...> 2008/10/16

Alle Thursday 16 October 2008, David Trasbo ha scritto:

[#317773] Re: A Ruby block question — David Trasbo <davidtrasbo@...> 2008/10/16

Stefano Crocco wrote:

[#317779] Re: A Ruby block question — Stefano Crocco <stefano.crocco@...> 2008/10/16

Alle Thursday 16 October 2008, David Trasbo ha scritto:

[#317780] Re: A Ruby block question — David Trasbo <davidtrasbo@...> 2008/10/16

Stefano Crocco wrote:

[#317776] I found way to protect Source Code! :) — Alexey Petrushin <axyd80@...>

Hello!

34 messages 2008/10/16
[#317859] Re: I found way to protect Source Code! :) — Ade Inovica <adrian.teasdale@...> 2008/10/16

Interesting solution. May I also suggest that you try

[#317869] Re: I found way to protect Source Code! :) — Mike Gold <mike.gold.4433@...> 2008/10/16

Ade Inovica wrote:

[#317886] Re: I found way to protect Source Code! :) — Sasha Bee <rubyman77@...> 2008/10/17

Mike Gold wrote:

[#317956] Re: I found way to protect Source Code! :) — "ara.t.howard" <ara.t.howard@...> 2008/10/17

[#317878] instance counter — Pierre Lebrun <anthonylebrun@...>

Please forgive the trite nature of this question, I'm new to ruby and OO

21 messages 2008/10/17
[#317880] Re: instance counter — Tommy Nordgren <tommy.nordgren@...> 2008/10/17

[#317883] Re: instance counter — Mike Gold <mike.gold.4433@...> 2008/10/17

Tommy Nordgren wrote:

[#317903] Re: instance counter — Robert Klemme <shortcutter@...> 2008/10/17

On 17.10.2008 07:19, Mike Gold wrote:

[#317938] Error Exception if script doesn't run — jackster the jackle <johnsheahan@...>

I need to know if my script fails to run for any reason and capture the

20 messages 2008/10/17
[#317941] Re: Error Exception if script doesn't run — Brian Candler <b.candler@...> 2008/10/17

jackster the jackle wrote:

[#317967] Re: Error Exception if script doesn't run — jackster the jackle <johnsheahan@...> 2008/10/17

I notice that any shell commands that I have in the script that fail do

[#317972] Re: Error Exception if script doesn't run — Joel VanderWerf <vjoel@...> 2008/10/17

jackster the jackle wrote:

[#317974] Re: Error Exception if script doesn't run — jackster the jackle <johnsheahan@...> 2008/10/17

It seems to work but not for this command, perhaps since scp gets

[#317979] Re: Error Exception if script doesn't run — Tim Hunter <TimHunter@...> 2008/10/18

jackster the jackle wrote:

[#317992] Re: Error Exception if script doesn't run — jackster the jackle <johnsheahan@...> 2008/10/18

Tim Hunter wrote:

[#317966] Counting — Tom Clarke <thomas.clarke08@...>

How would i go about making Ruby count to say 1000 usin only multiples

18 messages 2008/10/17

[#318286] Trollop 1.10 released — William Morgan <wmorgan-ruby-talk@...>

Trollop version 1.10 has been released!

12 messages 2008/10/22

[#318309] Is there a method_eval or similar thing ? — Nit Khair <sentinel.2001@...>

I have a method called askyesno which takes a string and returns whether

13 messages 2008/10/22

[#318323] What exactly does "rubyish" or "ruby way" mean? — Nit Khair <sentinel.2001@...>

Over the last month I have been reading a lot of blogs, searching, going

12 messages 2008/10/22

[#318509] How to tell if two paths point to the same file? — Kenneth McDonald <kenneth.m.mcdonald@...>

I've tried using File.expand_path to normalize path names, but this

12 messages 2008/10/24

[#318523] RubyMacros 0.1.0 Released — "Caleb Clausen" <vikkous@...>

RubyMacros is a lisp-like macro pre-processor for Ruby. More than just a

15 messages 2008/10/24

[#318552] Join all text files in a folder, with a single line of Ruby code — luisbebop <luisbebop@...>

I did a single line of code in Ruby, which joins all text files in a

26 messages 2008/10/25
[#318556] Re: Join all text files in a folder, with a single line of Ruby code — "William James" <w_a_x_man@...> 2008/10/25

luisbebop wrote:

[#318574] Re: Join all text files in a folder, with a single line of Ruby code — Joel VanderWerf <vjoel@...> 2008/10/25

William James wrote:

[#318607] Re: Join all text files in a folder, with a single line of Ruby code — Nobuyoshi Nakada <nobu@...> 2008/10/26

Hi,

[#318622] Re: Join all text files in a folder, with a single line of Ruby code — Joel VanderWerf <vjoel@...> 2008/10/26

Nobuyoshi Nakada wrote:

[#318640] Re: Join all text files in a folder, with a single line of Ruby code — luisbebop <luisbebop@...> 2008/10/27

> ruby -pe'1' *

[#318641] Re: Join all text files in a folder, with a single line of Ruby code — Joel VanderWerf <vjoel@...> 2008/10/27

luisbebop wrote:

[#318601] Hash.merge_add! extension - how does this code look? — "Greg Hauptmann" <greg.hauptmann.ruby@...>

Hi,

18 messages 2008/10/26
[#318632] Re: Hash.merge_add! extension - how does this code look? — Stefan Rusterholz <apeiros@...> 2008/10/26

Greg Hauptmann wrote:

[#318644] Re: Hash.merge_add! extension - how does this code look? — "Greg Hauptmann" <greg.hauptmann.ruby@...> 2008/10/27

thanks for highlighting this! Is the quickest way to normalise to Array via

[#318655] Re: Hash.merge_add! extension - how does this code look? — Stefan Rusterholz <apeiros@...> 2008/10/27

Greg Hauptmann wrote:

[#318656] Re: Hash.merge_add! extension - how does this code look? — "Greg Hauptmann" <greg.hauptmann.ruby@...> 2008/10/27

I just noticed the code suggested might have a problem when the

[#318721] automatic code conversion from Ruby to C ? — "Axel Etzold" <AEtzold@...>

Dear all,

16 messages 2008/10/27

[#318888] project manager panel in SciTE — Li Chen <chen_li3@...>

Hi all,

14 messages 2008/10/29

[#318896] RubyGems 1.3.1 — Eric Hodel <drbrain@...7.net>

= Announce: RubyGems Release 1.3.1

13 messages 2008/10/29

[#318970] Roguelike project? — Tim Mcd <tmcdowell@...>

Anyone interested in a Roguelike game written in Ruby/Ncurses project?

41 messages 2008/10/30
[#318976] Re: Roguelike project? — Matthew Moss <matt@...> 2008/10/30

> Anyone interested in a Roguelike game written in Ruby/Ncurses project?

[#319050] Re: Roguelike project? — "Michael Fellinger" <m.fellinger@...> 2008/10/31

On Fri, Oct 31, 2008 at 3:42 AM, Matthew Moss <matt@moss.name> wrote:

[#319052] Re: Roguelike project? — Nit Khair <sentinel.2001@...> 2008/10/31

Michael Fellinger wrote:

[#319056] Re: Roguelike project? — "Michael Fellinger" <m.fellinger@...> 2008/10/31

On Sat, Nov 1, 2008 at 1:46 AM, Nit Khair <sentinel.2001@gmx.com> wrote:

[#319287] Re: Roguelike project? — Nit Khair <sentinel.2001@...> 2008/11/03

Michael Fellinger wrote:

[#319393] Re: Roguelike project? — Nit Khair <sentinel.2001@...> 2008/11/04

Nit Khair wrote:

[#319422] Re: Roguelike project? — Nit Khair <sentinel.2001@...> 2008/11/04

Nit Khair wrote:

[#319021] XML builder performance — Xin Zheng <crazygecko@...>

Hi all,

13 messages 2008/10/31

[#319055] How to access to local variables in enclosing scopes? — Yuh-Ruey Chen <maian330@...>

I'm familiar with other popular scripting languages (JS and Python),

34 messages 2008/10/31

[#319094] FFI 0.1.1 (Foreign Function Interface) for Ruby 1.8.6/7 and 1.9 — Charles Oliver Nutter <charles.nutter@...>

The JRuby team is proud to announce the release of FFI for Ruby 1.8.6/7

62 messages 2008/10/31
[#319099] Re: [ANN] FFI 0.1.1 (Foreign Function Interface) for Ruby 1.8.6/7 and 1.9 — Thomas Hurst <tom.hurst@...> 2008/11/01

* Charles Oliver Nutter (charles.nutter@sun.com) wrote:

[#319101] Re: [ANN] FFI 0.1.1 (Foreign Function Interface) for Ruby 1.8.6/7 and 1.9 — Charles Oliver Nutter <charles.nutter@...> 2008/11/01

Thomas Hurst wrote:

[#319113] Re: [ANN] FFI 0.1.1 (Foreign Function Interface) for Ruby 1.8.6/7 and 1.9 — Charles Oliver Nutter <charles.nutter@...> 2008/11/01

Charles Oliver Nutter wrote:

[#319238] Re: [ANN] FFI 0.1.1 (Foreign Function Interface) for Ruby 1.8.6/7 and 1.9 — Sylvain Joyeux <sylvain.joyeux@...> 2008/11/03

On Sat, Nov 01, 2008 at 08:16:39AM +0900, Charles Oliver Nutter wrote:

[#319240] Re: [ANN] FFI 0.1.1 (Foreign Function Interface) for Ruby 1.8.6/7 and 1.9 — Charles Oliver Nutter <charles.nutter@...> 2008/11/03

Sylvain Joyeux wrote:

[#319390] Re: [ANN] FFI 0.1.1 (Foreign Function Interface) for Ruby 1.8.6/7 and 1.9 — Ken Bloom <kbloom@...> 2008/11/04

On Fri, 31 Oct 2008 18:16:39 -0500, Charles Oliver Nutter wrote:

[#319391] Re: [ANN] FFI 0.1.1 (Foreign Function Interface) for Ruby 1.8.6/7 and 1.9 — "Sean O'Halpin" <sean.ohalpin@...> 2008/11/04

On Tue, Nov 4, 2008 at 2:38 PM, Ken Bloom <kbloom@gmail.com> wrote:

[#319395] Re: FFI 0.1.1 (Foreign Function Interface) for Ruby 1.8.6/7 and 1.9 — Nit Khair <sentinel.2001@...> 2008/11/04

Sean O'halpin wrote:

[#319428] Re: FFI 0.1.1 (Foreign Function Interface) for Ruby 1.8.6/7 and 1.9 — Charles Oliver Nutter <charles.nutter@...> 2008/11/04

Nit Khair wrote:

[#319467] Re: FFI 0.1.1 (Foreign Function Interface) for Ruby 1.8.6/7 and 1.9 — "Sean O'Halpin" <sean.ohalpin@...> 2008/11/05

On Tue, Nov 4, 2008 at 7:02 PM, Charles Oliver Nutter

[#319468] Re: FFI 0.1.1 (Foreign Function Interface) for Ruby 1.8.6/7 and 1.9 — Charles Oliver Nutter <charles.nutter@...> 2008/11/05

Sean O'Halpin wrote:

[#319535] Re: FFI 0.1.1 (Foreign Function Interface) for Ruby 1.8.6/7 and 1.9 — "Sean O'Halpin" <sean.ohalpin@...> 2008/11/05

On Wed, Nov 5, 2008 at 4:34 AM, Charles Oliver Nutter

[#319538] Re: FFI 0.1.1 (Foreign Function Interface) for Ruby 1.8.6/7 and 1.9 — Nit Khair <sentinel.2001@...> 2008/11/05

Sean O'halpin wrote:

Re: [QUIZ] Bowling Scores (#181)

From: "Sandro Paganotti" <sandro.paganotti@...>
Date: 2008-10-26 23:30:32 UTC
List: ruby-talk #318639
Sorry, I forgot to translate zeros into -, here's the fixxed version:



=== CODE START (FIX) ===


=begin


## Bowling Scores (#181)


Whether it is real or on the Wii, bowling is a fun game. (Okay, for the sake
of the quiz, let's assume it's a fun game.) But I've known folks who just
don't understand [how to score properly][1]. They can count pins knocked
down, and know that getting all ten pins in one roll is good, but they still
can't keep score.

Your task this week is to tally scores for these people. The input will be
the player's name and the number of pins felled from each roll. For example:

   ruby bowling_scores.rb John 6 2 7 1 10 9 0 8 2 10 10 3 5 7 2 5 5 8

Your should tally the per-frame scores and generate output in table form,
such as:

   John's final score: 140

   Frame     Roll  Roll    Score
      1        6     2        8
      2        7     1       16
      3        X             35
      4        9     -       44
      5        8     /       64
      6        X             87
      7        X            105
      8        3     5      113
      9        7     2      122
     10        5     /      140
      *        8


Note that you should make use of typical bowling symbols: `X` for a strike,
`/` for a spare, and `-` for zero. Also, if extra balls were thrown at the
end (to supplement a strike or spare in the final frame), list those as
frame `*` like the above, but without a score.

Extra credit: Generate ascii or graphical output that looks more like the
traditional bowling score form, which can be seen on [this page][1].


[1]: http://www.bowling2u.com/trivia/game/scoring.asp



=end

class Array
  def sum; self.inject{|a,b| a+b}; end
end

def get_points (shot,next_shots)
  return shot.sum + (
    # strike
    if shot.first == 10
      next_shots.flatten[0..1].sum
    # spare
    elsif shot.sum == 10
      next_shots.first.first
    # normal
    else
      0
    end
  )
end

def symbols(score,sep)
  return "X#{sep}" if score.first == 10
  return (score.sum == 10 ? "#{score[0]}#{sep}/" :
"#{score[0]}#{sep}#{score[1]}").gsub("0","-")
end

name, score, points = ARGV.first, ARGV[1..-1].join(" "), []
raise "Usage: 'ruby 181_bowling_score.rb [name] [scores]'" if name.nil? or
score.to_a.empty?

score = score.scan(/10|\d+\s*\d*/).collect{|e| e.split(" ").map!{|e|
e.to_i}}
score.each_with_index { |s,i| points[i] = get_points(s,score[i+1..-1]) }

puts "#{name}'s final score: #{points[0..9].sum}";
puts "Frame\tRoll\tRoll\tScore\t"
score.each_with_index do |s,i|
  puts "#{i+1}\t#{symbols(s,"\t")}\t#{(i<10) ? points[0..i].sum : ''}"
end




=== CODE END (FIX) ===








On Sun, Oct 26, 2008 at 11:25 PM, Sandro Paganotti <
sandro.paganotti@gmail.com> wrote:

> Here there's my attempt:
>
>
> === CODE START ===
>
> class Array
>   def sum; self.inject{|a,b| a+b}; end
> end
>
> def get_points (shot,next_shots)
>   return shot.sum + (
>     # strike
>     if shot.first == 10
>       next_shots.flatten[0..1].sum
>     # spare
>     elsif shot.sum == 10
>       next_shots.first.first
>     # normal
>     else
>       0
>     end
>   )
> end
>
> def symbols(score,sep)
>   return "X#{sep}" if score.first == 10
>   return "#{score[0]}#{sep}/" if score.sum == 10
>   return "#{score[0]}#{sep}#{score[1]}"
> end
>
> name, score, points = ARGV.first, ARGV[1..-1].join(" "), []
> raise "Usage: 'ruby 181_bowling_score.rb [name] [scores]'" if name.nil? or
> score.to_a.empty?
>
> score = score.scan(/10|\d+\s*\d*/).collect{|e| e.split(" ").map!{|e|
> e.to_i}}
> score.each_with_index { |s,i| points[i] = get_points(s,score[i+1..-1]) }
>
> puts "#{name}'s final score: #{points[0..9].sum}";
> puts "Frame\tRoll\tRoll\tScore\t"
> score.each_with_index do |s,i|
>   puts "#{i+1}\t#{symbols(s,"\t")}\t#{(i<10) ? points[0..i].sum : ''}"
> end
>
>
> === CODE END ===
>
>
>
>
>
> On Sun, Oct 26, 2008 at 5:09 PM, Ken Bloom <kbloom@gmail.com> wrote:
>
>> On Fri, 24 Oct 2008 09:25:45 -0500, Matthew Moss wrote:
>>
>> > Apologies for not having the Long Division quiz summary done yet. It
>> > will come sometime today or tomorrow. Meanwhile, I have the next quiz
>> > ready...
>> >
>> > -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
>> >
>> > The three rules of Ruby Quiz 2:
>> >
>> > 1.  Please do not post any solutions or spoiler discussion for this quiz
>> > until 48 hours have passed from the time on this message.
>> >
>> > 2.  Support Ruby Quiz 2 by submitting ideas as often as you can! (A
>> > permanent, new website is in the works for Ruby Quiz 2. Until then,
>> > please visit the temporary website at
>> >
>> >    <http://splatbang.com/rubyquiz/>.
>> >
>> > 3.  Enjoy!
>> >
>> > Suggestion:  A [QUIZ] in the subject of emails about the problem helps
>> > everyone on Ruby Talk follow the discussion.  Please reply to the
>> > original quiz message, if you can.
>> >
>> > -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
>> >
>> > ## Bowling Scores (#181)
>> >
>> >
>> > Whether it is real or on the Wii, bowling is a fun game. (Okay, for the
>> > sake of the quiz, let's assume it's a fun game.) But I've known folks
>> > who just don't understand [how to score properly][1]. They can count
>> > pins knocked down, and know that getting all ten pins in one roll is
>> > good, but they still can't keep score.
>> >
>> > Your task this week is to tally scores for these people. The input will
>> > be the player's name and the number of pins felled from each roll. For
>> > example:
>> >
>> >      ruby bowling_scores.rb John 6 2 7 1 10 9 0 8 2 10 10 3 5 7 2 5 5 8
>> >
>> > Your should tally the per-frame scores and generate output in table
>> > form, such as:
>> >
>> >      John's final score: 140
>> >
>> >      Frame     Roll  Roll    Score
>> >         1        6     2        8
>> >         2        7     1       16
>> >         3        X             35
>> >         4        9     -       44
>> >         5        8     /       64
>> >         6        X             87
>> >         7        X            105
>> >         8        3     5      113
>> >         9        7     2      122
>> >        10        5     /      140
>> >         *        8
>> >
>> >
>> > Note that you should make use of typical bowling symbols: `X` for a
>> > strike, `/` for a spare, and `-` for zero. Also, if extra balls were
>> > thrown at the end (to supplement a strike or spare in the final frame),
>> > list those as frame `*` like the above, but without a score.
>> >
>> > Extra credit: Generate ascii or graphical output that looks more like
>> > the traditional bowling score form, which can be seen on [this page][1].
>> >
>> >
>> > [1]: http://www.bowling2u.com/trivia/game/scoring.asp
>>
>> #!/usr/bin/env ruby
>> #Requires Ruby 1.8.7
>>
>> class Fixnum
>>  def to_bowl
>>    return '-' if self==0
>>    return 'X' if self==10
>>    return self.to_s
>>  end
>> end
>>
>> class Array
>>  def strike?
>>    self[0]==10
>>  end
>>  def spare?
>>    self[0]+self[1]==10
>>  end
>> end
>>
>> module Enumerable
>>  #each cons is almost what I want, but it won't generate partial cons at
>> the end
>>  def mycons n
>>    result=[]
>>    each_with_index do |f,i|
>>      result << self[i,n]
>>    end
>>    result
>>  end
>> end
>>
>> ARGV.map!(&:to_i)
>> fail if ARGV.any?{|x| x>10}
>> frames=ARGV.mycons(3)
>> frames.delete_at(-1)
>>
>> frames.each_with_index do |f,i|
>>  frames[i+1]=nil if f and not f.strike?
>> end
>> frames.compact!
>> totals=frames.inject([]) do |h,frame|
>>  last = h[-1] || 0
>>  frame.delete_at(2) unless frame.spare? or frame.strike?
>>  h+[last+frame.inject(&:+)]
>> end
>> printf "%8s%8s%8s%8s\n", "Frame", "Roll", "Roll", "Score"
>> frames.each_with_index do |f,i|
>>  spare='/' if f[0]+f[1]==10
>>  printf "%8s%8s%8s%8s\n", i+1, f[0].to_bowl, (spare or f[1].to_bowl unless
>> f.strike?), totals[i]
>>  if i==9 and f.spare?
>>    printf "%8s%8s\n", '*', f[2].to_bowl
>>  elsif i==9 and f.strike?
>>    printf "%8s%8s%8s\n", '*', f[1].to_bowl, f[2].to_bowl
>>  end
>> end
>>
>>
>>
>>
>> --
>> Chanoch (Ken) Bloom. PhD candidate. Linguistic Cognition Laboratory.
>> Department of Computer Science. Illinois Institute of Technology.
>> http://www.iit.edu/~kbloom1/ <http://www.iit.edu/%7Ekbloom1/>
>>
>>
>
>
> --
> Go outside! The graphics are amazing!
>



-- 
Go outside! The graphics are amazing!

In This Thread