пятница, 3 августа 2007 г.

Ruby On Rails : Массивы в руби ( часть первая )

Я уже писал о том, что мне очень нравится то как в Ruby реализованы массивы и то, что мне не нравится как это сделано в PHP. Опишу основны при работе с массивами в Ruby.

Массивы в руби можно создавать многими способами. Первый довольно простой перечисляя элементы в квадратных скобках разделяя их запятыми:

my_array = ['php', 'ruby', 'perl' , 'python']


Так же Ruby позволяет создавать массив на основе строки разделённой пробелами:

my_array = %w( php ruby perl python)


Так как в Ruby Array это класс, а наш массив это его объект, то создать нужный нам массив можно еще и этим способом.

my_array = Array.new
my_array << 'php'
my_array << 'ruby'
my_array << 'perl'
my_array << 'python'


Так же Ruby позволяет работать с массивами следующим образом

first = my_array.first # first = php

last = my_array.last # last = python

total = my_array.length # total = 4

Если нам нужно пройтись по всему массиву как мы это делали в php через foreach в Ruby это делается следующим образом:


games = ['startcraft', 'quake', 'warcraft']

games.each do |Game|
puts "#{Game} классная игра!"
end
=> startcraft классная игра!
=> quake классная игра!
=> warcraft классная игра!

Либо так :)


games = ['startcraft', 'quake', 'warcraft']

games.each_with_index do |game , index|
puts "#{index} : {game} классная игра!"
end
=> 1 : startcraft классная игра!
=> 2 : quake классная игра!
=> 3 : warcraft классная игра!

А еще можно вот так :)

items = ['Ruby On Rails', 'Ruby', 'My Self']

array_of_stuff = items.map do |item|
"i love #{item}"
end
# Массив array_of_stuff состоит сейчас из :
=> ['i love Ruby On Rails', 'i love Ruby', 'i love My Self']


И так основные моменты в работе с массивами я описал, дальше будет больше :)

Комментариев нет: