[Freeschool] [JT] Re: чему стоит учить в школе

Mikolaj Golub =?iso-8859-1?q?to=2Emy=2Etrociny_=CE=C1_gmail=2Ecom?=
Пт Окт 24 16:27:58 MSD 2008


On Fri, 24 Oct 2008 15:34:04 +0400 Denis Kirienko wrote:

 DK> Mikolaj Golub пишет:

 >> Во первых, чтоб не было недоразумений, то что привел Миша -- это Ruby а не
 >> Python. Ну, а во вторых, вот пример как можно посчитать сумму чисел
 >> представленных в описанном вами формате:
 >>
 >> sum = 0
 >> while line = gets do
 >>   line.split.each {|x| sum += x.to_i}
 >> end
 >> puts sum
 >>
 >> Или в более привычном виде для людей не знакомых с Ruby:
 >>
 >> sum = 0
 >> while line = gets do
 >>   for x in line.split do
 >>     sum += x.to_i
 >>   end
 >> end
 >> puts sum

 DK> А можно пример реализации на ruby (ибо я с ruby совсем не знаком) со
 DK> следующими дополнительными условиями:

 DK> 1. Данные читаются из файла input.txt.
 DK> 2. Все считанные данные разбиваются на последовательности непробельных
 DK> символов и сохраняются в списке, как в приведенном ранее примере на
 DK> python.

 DK> Дело в том, что данные могут быть сложными - там могут быть и числа, и
 DK> строки... и их не обязательно все просуммировать на потоке, может быть
 DK> и более хитрая задача.

Если допустим файл следующего содержания:

1 2 3 4
test rest
end

То в результате выполнения следующего кода:

a = IO.read("/tmp/test.dat").split()

переменная a будет ссылаться список:

["1", "2", "3", "4", "test", "rest", "end"]

Этого хотелось?

-- 
Mikolaj Golub


Подробная информация о списке рассылки Freeschool