Subtitles translated from Russian
Showing Revision 1 created 12/26/2013 by natasha.nikityuk.
-
Title:
02-07 Вихідні дані (Рішення)
-
Description:
-
Отже, це питання трохи складніше.
-
Щоб відповісти на нього, нам необхідно поглянути на наступний за процедурою код
-
і згадати, що ми збираємось замінити процедурою ці чотири рядки.
-
Після виконання процедури ми виводимо значення змінної url.
-
Це значить, що url безперечно знадобиться нам на виході процедури,
-
але всі варіанти і так включають значення url.
-
Але це ще не все, необхідно поглянути і на другий рядок.
-
В ньому використовуються значення page та end_quote.
-
Значення page тут рівне значенню page до виконання процедури,
-
тому нам не обов'язково повертати із процедури значення page.
-
Тобто її не повинно бути серед виходів нашої процедури.
-
Ми вже знаємо її значення.
-
І знали його ще до виклику процедури.
-
Процедура не змінює значення page.
-
Тому немає сенсу включати її в вихідні дані.
-
Отже, цей варіант неправильний. Значення page нам не потрібне.
-
А значення end_quote, навпаки, варто додати в склад вихідних даних.
-
Причина, за якою нам необхідно вихідне значення end_quote,
-
в тому, що нам необхідно знати позицію лапки, що завершує,
-
щоб залишити в page лише наступний за цією лапкою текст і щоб при наступному пошуку
-
не "знайти" повторно вже знайдене посилання.
-
Тому нам і справді необхідне це значення, а значить найкращий варіант відповіді наступний:
-
на виході процедури повинно бути два значення: змінної url і змінної end_quote.
-
Четвертий варіант також міг би спрацювати.
-
Повертаючи з процедури значення url та start_link,
-
ми в принципі могли б знайти спосіб рухатись за текстом сторінки, не знаходячи повторно ті самі посилання,
-
але нам би довелось переписати весь цей код.
-
Нам необхідно було б шукати наступну відкриваючу лапку починаючи з позиції start_link.
-
А для цього довелося б спочатку знайти попередню лапку, що закриває.
-
По суті, нам довелося б заново обрахувати значення end_quote.
-
Тому набагато корисніше повертати значення end_quote,
-
аніж значення start_link.
-
Ось чому третій варіант відповіді – найкращий.