PHP, для всех его бородавок, довольно хорош в этом отношении. Нет никакой разницы между массивом и хешем (может быть, я наивен, но это кажется мне совершенно правдоподобным), и итерации через либо вы просто делаете
foreach (array/hash as $key => $value)
В Ruby существует множество способов сделать такие вещи:
array.length.times do |i|
end
array.each
array.each_index
for i in array
Хеши имеют больше смысла, так как я всегда использую
hash.each do |key, value|
Почему я не могу сделать это для массивов? Если я хочу вспомнить только один метод, я предполагаю, что могу использовать each_index (поскольку он делает доступным как индекс, так и значение), но это раздражает необходимость делать array[index] вместо просто value.
О, хорошо, я забыл о array.each_with_index. Однако это отстой, потому что он идет |value, key| и hash.each идет |key, value|! Разве это не безумие?