Ukrainian subtitles

← 02-07 Вихідні дані (Рішення)

Get Embed Code
9 Languages

Subtitles translated from Russian Showing Revision 1 created 12/26/2013 by natasha.nikityuk.

  1. Отже, це питання трохи складніше.
  2. Щоб відповісти на нього, нам необхідно поглянути на наступний за процедурою код
  3. і згадати, що ми збираємось замінити процедурою ці чотири рядки.
  4. Після виконання процедури ми виводимо значення змінної url.
  5. Це значить, що url безперечно знадобиться нам на виході процедури,
  6. але всі варіанти і так включають значення url.
  7. Але це ще не все, необхідно поглянути і на другий рядок.
  8. В ньому використовуються значення page та end_quote.
  9. Значення page тут рівне значенню page до виконання процедури,
  10. тому нам не обов'язково повертати із процедури значення page.
  11. Тобто її не повинно бути серед виходів нашої процедури.
  12. Ми вже знаємо її значення.
  13. І знали його ще до виклику процедури.
  14. Процедура не змінює значення page.
  15. Тому немає сенсу включати її в вихідні дані.
  16. Отже, цей варіант неправильний. Значення page нам не потрібне.
  17. А значення end_quote, навпаки, варто додати в склад вихідних даних.
  18. Причина, за якою нам необхідно вихідне значення end_quote,
  19. в тому, що нам необхідно знати позицію лапки, що завершує,
  20. щоб залишити в page лише наступний за цією лапкою текст і щоб при наступному пошуку
  21. не "знайти" повторно вже знайдене посилання.
  22. Тому нам і справді необхідне це значення, а значить найкращий варіант відповіді наступний:
  23. на виході процедури повинно бути два значення: змінної url і змінної end_quote.
  24. Четвертий варіант також міг би спрацювати.
  25. Повертаючи з процедури значення url та start_link,
  26. ми в принципі могли б знайти спосіб рухатись за текстом сторінки, не знаходячи повторно ті самі посилання,
  27. але нам би довелось переписати весь цей код.
  28. Нам необхідно було б шукати наступну відкриваючу лапку починаючи з позиції start_link.
  29. А для цього довелося б спочатку знайти попередню лапку, що закриває.
  30. По суті, нам довелося б заново обрахувати значення end_quote.
  31. Тому набагато корисніше повертати значення end_quote,
  32. аніж значення start_link.
  33. Ось чому третій варіант відповіді – найкращий.