Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!

Ogłoszenie

Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.

#1  2009-11-11 16:05:07

  Zolnierzu - Użytkownik

Zolnierzu
Użytkownik
Skąd: Koszalin/Poznań
Zarejestrowany: 2007-09-22
Serwis

[SOLVED][ruby]Kilka liczb

witam,
czy ktoś wie czy istnieje jakaś funkcja w rubym, która potrafi sczytać kilka liczb napisanych w jednej linii do kilku osobnych zmiennych?
coś jak scanf("%d %d..", &a1 &a2...); w c?
Czy trzeba to załatwić np poprzez pocięcie stringa i powrzucanie tego do odpowiednich zmiennych?

Ostatnio edytowany przez Zolnierzu (2009-11-12 01:17:25)


Registered Linux user number 467822, (15-03-2008)

Offline

 

#2  2009-11-11 18:41:29

  NIC - Członek DUG

NIC
Członek DUG
Skąd: Wrocław
Zarejestrowany: 2006-12-25
Serwis

Re: [SOLVED][ruby]Kilka liczb

Może funkcja scanf? http://linuksowo.pl/index.php?t=msg&goto=26334
Ewentualnie jeśli dobrze pamiętam to można użyć funkcji split (ostatecznie scan) [obiekt string] i skonwertować typy... Kiedyś jak pamiętam działało np. pomnożenie przez 1 stringa by stawał się liczbą, ale to było kiedyś.


Stronka-dom: http://titek.victorygames.pl
Jabber: nic@jabster.pl
Hobby: kompilowanie Linuksa, Bluetooth
Dystrybucja: żadna, bliski krewny LFS, składak

Offline

 

#3  2009-11-11 19:07:09

  Zolnierzu - Użytkownik

Zolnierzu
Użytkownik
Skąd: Koszalin/Poznań
Zarejestrowany: 2007-09-22
Serwis

Re: [SOLVED][ruby]Kilka liczb

Kod:

#!/bin/ruby
print "Podaj liczby, ktore maja zostac zsumowane(oddzielajac je znakiem spacji): "
line = gets 
sum = 0
while(line != nil)
  #a, line = line.chomp.split(/\s* \s*/)
  a, line = line.chomp.split(/\s* +\s*/)  
  sum += Integer(a)
end

puts "Twoja suma to ", sum, "\n"

NIC, coś takiego zrobiłem ale moje wyrażenie regularne chyba raczej napewno jest nieprawidłowe bo sumuje tylko 2 pierwsze liczby a reszta łańcucha znika..

EDIT
Rozwiązane. splitem usuwamy spacje, string w ruby jest traktowany jako tablica więc wystarcza prosta pętelka .each do i po krzyku ;) Może komuś się przyda.

Ostatnio edytowany przez Zolnierzu (2009-11-12 01:17:04)


Registered Linux user number 467822, (15-03-2008)

Offline

 

Stopka forum

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson
To nie jest tylko forum, to nasza mała ojczyzna ;-)