2012-03-10 4 views
0
def load_­comics(pat­h) 
    comics={} 
    File.forea­ch(path) do |line­| 
     name, url = line.­split(': ') 
     comics[nam­e] = url.s­trip 
    end 
    comics #<<< THIS LINE 
end 

Я привык к PHP, что делает comics? Я немного смущен (я занимаюсь учебными курсами на tryruby.org, и это не объясняет этот раздел).Ruby, что означает эта строка кода?

+1

Не по теме, но 'Hash [File.readlines (путь) .map {| линия | line.strip.split (":")}] 'будет делать это без необходимости назначения временных переменных. – d11wtq

+0

Код, который я использовал на самом деле из учебника, чтобы сделать его как можно более понятным, я полагаю, следовательно, необходимость временных переменных – Akshat

ответ

5

Его возвращаемое значение метода.

+0

Ahhh Я вижу, нет необходимости в возвращении комиксов – Akshat

+0

Действительно см. Http: //www.tutorialspoint. com/ruby ​​/ ruby_methods.htm – Roger

+2

Точка или возврат комиксов в конце метода - это то, что вы можете цеплять методы; например 'load_comics ("/some/path "). each do {| comic |/* делать что-то с каждым комиком * /} ' – Thilo

1

комиксы является хэш, вероятно, результат будет выглядеть следующим образом:

comics = { 'name1' => 'url1', 'name2' => 'url2', ...} 
Смежные вопросы