[#399938] how to read arrary with an array — "Richard D." <lists@...>

Hello. I believe this is basic question, but I'm just starting to learn

19 messages 2012/10/02

[#400050] img src while sending email ruby cgi — Ferdous ara <lists@...>

Hi

16 messages 2012/10/05

[#400351] Drop 1st and last particular character — ajay paswan <lists@...>

What is the most efficient way to drop '#' from the first place and last

15 messages 2012/10/16

[#400374] database part of a desktop application — "Sebastjan H." <lists@...>

Hi,

14 messages 2012/10/16
[#400375] Re: database part of a desktop application — Chad Perrin <code@...> 2012/10/16

On Wed, Oct 17, 2012 at 05:28:39AM +0900, Sebastjan H. wrote:

[#400377] Re: database part of a desktop application — sto.mar@... 2012/10/17

Am 16.10.2012 23:24, schrieb Chad Perrin:

[#400389] Re: database part of a desktop application — Chad Perrin <code@...> 2012/10/17

On Wed, Oct 17, 2012 at 01:39:21PM +0900, sto.mar@web.de wrote:

[#400386] Unable to send attachment, and dealing with multiple attachment — ajay paswan <lists@...>

Hi,

11 messages 2012/10/17

[#400454] Hash with Integer key issue — Wayne Simmerson <lists@...>

Hi Im new to Ruby and am getting some unexpected results from a

18 messages 2012/10/19

[#400535] Name/symbol/object type clash? What is happening here? — Todd Benson <caduceass@...>

It's nonsense code, but I'm curious as to what is going on behind the scenes...

41 messages 2012/10/23

[#400556] Calling a method foo() or an object foo.method_call_here - both — Marc Heiler <lists@...>

Hello.

13 messages 2012/10/24

[#400650] OpenSSL ECDSA public key from private — Nokan Emiro <uzleepito@...>

Hi,

11 messages 2012/10/27

[#400680] Passing folder as argument ARGV? — Joz Private <lists@...>

Is there an easy way to pass multiple files on the command line?

15 messages 2012/10/28
[#400681] Re: Passing folder as argument ARGV? — brad smith <bradleydsmith@...> 2012/10/28

How are you traversing the directory you pass in on the command line ?

[#400697] File.readable? and /proc — Jeff Moore <lists@...>

root@nail:/projects/proc_fs# uname -a

13 messages 2012/10/28

[#400714] Marshal.load weird issue — "Pierre J." <lists@...>

Hi guys

12 messages 2012/10/28

[#400781] bug?: local variable created in if modifier not available in modified expression — "Mean L." <lists@...>

irb(main):001:0> local1 if local1 = "created"

21 messages 2012/10/30
[#400807] Re: bug?: local variable created in if modifier not available in modified expression — Bartosz Dziewoński <matma.rex@...> 2012/10/31

Oh, and in case it wasn't apparent: you can just add

[#400808] Re: bug?: local variable created in if modifier not available in modified expression — Eliezer Croitoru <eliezer@...> 2012/10/31

On 10/31/2012 4:52 PM, Bartosz Dziewoナгki wrote:

[#400809] Re: bug?: local variable created in if modifier not available in modified expression — Robert Klemme <shortcutter@...> 2012/10/31

On Wed, Oct 31, 2012 at 4:28 PM, Eliezer Croitoru <eliezer@ngtech.co.il>wrote:

[#400784] REXML & HTMLentities incorrectly map to UTF-8 — "Mark S." <lists@...>

I have some XML data (UTF 8) that I'm trying to convert into another XML

13 messages 2012/10/30

Re: Extract numbers from an alpha numeric string

From: Jes俍 Gabriel y Gal疣 <jgabrielygalan@...>
Date: 2012-10-04 16:01:48 UTC
List: ruby-talk #400017
On Thu, Oct 4, 2012 at 5:29 PM, Joao Silva <lists@ruby-forum.com> wrote:
> Hi All.
>
> I'm doing a program in which you have to enter a series of numbers like
> this: 1-3-4-11-15-8, I extract the numbers, and then transfer to a hash,
> the program does is that given 2 arrays with shirt numbers, and the
> names of a soccer team, should I create a hash associating both arrays.
>
> for example if I enter 1-3-4-11, the program should return:
>
> 1 => p1
> 3 => p3
> 4 => p4
> 11 => p11
>
> try removing the dashs of string, but when I pass as argument a number
> greater than nine, I just passed the first number:
>
> 1 => p1
> 3 => p2
> 10 => p1
> 11 => p1
>
> I mean?, here is the code:
>
> ###############################################
> tshirts=["1","2","3","4","5","6","7","8","9","10","11"]
> players=["p1","p2","p3","p4","p5","p6","p7","p8","p9","p10","p11"]
>
> h={
> 1=>"p1",
> 2=>"p2",
> 3=>"p3",
> 4=>"p4",
> 5=>"p5",
> 6=>"p6",
> 7=>"p7",
> 8=>"p8",
> 9=>"p9",
> 10=>"p10",
> 11=>"p11"
> }
>
> h.each{|k,v|puts "#{k} => #{v}"}
>
> def output(str,h)
>   s={}
>   for i in 0..str.length
>   h.each{|k,v|
>
>   if k == str[i].to_i
>     #puts "#{k} ==> #{v}"
>     s[i]="#{v}"
>     print s[i].inspect
>     #print "-"
>   end
>
>   }
>   end
>
> end
>
> print "Enter numbers of players (ej: 1-3-11-7-15-22-4-7): "
> str=gets.chomp.to_s
>
>
> for i in 0..str.length-1
>   if str[i]=="-"
>     str[i]=""
>   end
> end
>
> #puts str
>
> output(str,h)
>
> ###################################################################
>
> I accept any suggestion.

I think you are making things too complicated. If you have a mapping
for numbers => names:

h = {1 => "p1", ...}

by the way, if the rule is so simple you can build it dynamically:

1.9.2p290 :009 > h = (1..10).inject({}) {|hash, el| hash[el] = "p#{el}";hash}
 => {1=>"p1", 2=>"p2", 3=>"p3", 4=>"p4", 5=>"p5", 6=>"p6", 7=>"p7",
8=>"p8", 9=>"p9", 10=>"p10"}


Then you just need to split the string and convert the strings to numbers:

# read the input removing the \n
1.9.2p290 :003 > input = gets.chomp
1-2-3-4
 => "1-2-3-4"

# split on the "-"
1.9.2p290 :004 > numbers = input.split("-")
 => ["1", "2", "3", "4"]

# translate to real numbers
1.9.2p290 :005 > numbers.map! {|element| element.to_i}
 => [1, 2, 3, 4]

# for each number, look it up in the hash to get the name
1.9.2p290 :010 > numbers.each {|number| puts "#{number} => #{h[number]}"}
1 => p1
2 => p2
3 => p3
4 => p4
 => [1, 2, 3, 4]

Jesus.

In This Thread