
Russian: 
Итак, «перерыв» окончен: теперь вы знаете, как прервать цикл командой break.
Вы знакомы с while-циклами,
вы умеете применять if-инструкции для принятия решений,
и значит ваших знаний достаточно,
чтобы достичь нашей цели в этом разделе,
а именно написать код, извлекающий все URL-адреса
из текста веб-страницы.
Вначале давайте освежим наши воспоминания:
у нас был повторяющийся код, который
извлекал одну ссылку за другой.
Наш код был таким: сначала мы находили значение start&#95;link,
и на момент написания кода мы полагали,
что в переменной page содержится некая веб-страница.
Мы находили начало ссылки,
затем искали start_quote
[позицию открывающей кавычки]
также используя find(),
но при этом передавая в нее начальную позицию тега
и искомый символ – двойную кавычку.
Затем мы находили end_quote
[позицию закрывающей кавычки].
А затем мы извлекали URL, используя выборку
из строки page,

English: 
So, breaktime is over; now, you know about "Break."
You know about "while" loops;
you know about "if" to make decisions;
you know everything you need
to finish the goal of today's unit,
which is to write the code for extracting all of the URLs
from a web page.
First, let's remember what we were doing before:
we had the code that kept repeating
to get one link after another.
So, we had code like this: we had finding the "start_link"--
and we assumed, before entering this code,
that "page" has the contents of some web page.
We would search for the start of a link;
then we would find the "start_quote,"
again using "find,"
but this time passing in the start of the tag
and searching for the double quote.
Then, we would find the "end_quote."
And then we would extract the URL using the string selection--
selecting from "page,"

Ukrainian: 
Отже, "перерва" завершена: тепер ви знаєте, як перервати цикл командою break.
Ви знайомі з while-циклами,
ви вмієте застосовувати if-інструкції для прийняття рішень,
і значить ваших знань достатньо,
аби досягнути нашої мети в цьому розділі,
а саме написати код, що здобуває всі URL-адреси
з тексту веб-сторінки.
Спочатку давайте освіжимо наші спогади:
у нас був повторюваний код, який
видобував одне посилання за іншим.
Наш код був таким: спочатку ми знаходили значення start_link,
і на момент написання коду ми вважали,
що у змінній page міститься деяка веб-сторінка.
Ми знаходили початок посилання,
потім шукали start_quote [позицію відкриваючої лапки]
також використовуючи find(),
але при цьому передаючи до неї початкову позицію тегу
і шуканий символ - подвійну лапку.
Потім ми знаходили end_quote [позицію закриваючої лапки].
А потім ми здобували URL, використовуючи вибірку
із рядку page,

Chinese: 
休息结束了 你们也了解了“break”（中断）
你们知道while循环
知道使用if来做决定
你们所学的
已足够完成今天的课程目标
那就是 编写代码
从一个网页上提取所有的URL（网址）
首先 我们来回顾一下之前学过的内容
我们写过这样的代码
能不断提取一个又一个链接
代码是这样的：find（搜寻）“start_link”（开始链接）
在输入这些代码之前 我们假定
page（页面）含有一些网页的内容
我们将搜寻一个链接的开始
然后我们将找到start_quote（开始引用）
再次使用find（搜寻）
但这次传入的是tag（标签）的开始
搜寻双引号
然后我们会找到end_quote（结束引用）
然后我们将利用string selection（字符串选择）来提取URL
从page中选择

Chinese: 
休息時間 (Break time) 結束了，現在你們學到了 break
學到了 while loop
學到了 if 來做決定
你們所學的
已足夠完成今天的單元目標
就是寫程式碼，從一個網頁上擷取
所有的 url
首先，我們來回顧一下之前學的內容
我們寫過這樣的程式碼
能不斷地擷取一個又一個的連結 (link)
程式碼是這樣的：找到 start-link
假設在輸入這些程式碼之前
page 包含某個網頁的內容
我們要搜尋 start-link
然後我們找到 start-quote
再次使用 find
但是這次傳入標籤 (tag) 起頭
搜尋雙引號
然後我們找到 end-quote
然後我們利用字串選擇 (string selection)
從 page 擷取 url

Portuguese: 
Acabou o intervalo!
Você já conhece "break",
loops de "while"
e sabe como tomar decisões
com o "if".
Já sabe tudo o que precisa
para encerrar a unidade de hoje,
e a meta será escrever o código
para extrair todos os URLs
de uma página da internet.
Primeiro, vamos relembrar
o que já fizemos.
Temos um código
que fica se repetindo
para pegar vários links.
Era um código assim:
começava com
"start_link",
assumindo, antes de entrar
com esse código,
que "page" tem o conteúdo
de algum site.
Procuramos pelo começo
de um link
e depois achamos
"start_quote",
usando "find" de novo,
mas desta vez
entrando com o começo da tag
e procurando
pelas aspas duplas.
Depois encontramos
"end_quote".
Depois extraímos o URL
usando a seleção de string,
selecionando de "page",
de "start_quote"

Japanese: 
ブレイクが終わったのでbreakが分かりましたね
whileループと決定するためのifを学び
このレッスンの目標をクリアするために
必要なことはすべて学びました
目標はWebページからすべてのURLを抽出する
コードを書くことです
これまで学んだことを思い出してください
次々にリンクを取得し続けるコードがありました
このようなコードがありました
start＿linkを見つけるためのものです
このコードを入力する前に
pageにはあるWebページが
代入されていると仮定します
リンクの開始を検索します
そしてfindを使ってstart＿quoteを見つけます
しかし今回はタグの開始を渡して
ダブルクォーテーションを検索します
そしてend＿quoteを見つけます
その後ページの中からstart＿quoteから
end＿quoteまでの文字列を選択して

Chinese: 
休息時間 (Break time) 結束了，現在你們學到了 break
學到了 while loop
學到了 if 來做決定
你們所學的
已足夠完成今天的單元目標
就是寫程式碼，從一個網頁上擷取
所有的 url
首先，我們來回顧一下之前學的內容
我們寫過這樣的程式碼
能不斷地擷取一個又一個的連結 (link)
程式碼是這樣的：找到 start-link
假設在輸入這些程式碼之前
page 包含某個網頁的內容
我們要搜尋 start-link
然後我們找到 start-quote
再次使用 find
但是這次傳入標籤 (tag) 起頭
搜尋雙引號
然後我們找到 end-quote
然後我們利用字串選擇 (string selection)
從 page 擷取 url

Chinese: 
休息结束了 你们也了解了 break(中断)
你们知道 while 循环
知道使用 if 来做决定
你们所学的
已足够完成今天的课程目标
那就是 编写代码
从一个网页上提取所有的 URL (网址) 
首先 我们来回顾一下之前学过的内容
我们写过这样的代码
能不断提取一个又一个链接
代码是这样的：find (搜寻) start_link (开始链接) 
在输入这些代码之前 我们假定
page (页面) 含有一些网页的内容
我们将搜寻一个链接的开始
然后我们将找到 start_quote (开始引用) 
再次使用 find (搜寻) 
但这次传入的是 tag (标签) 的开始
搜寻双引号
然后我们会找到 end_quote (结束引用) 
然后我们将利用 string selection (字符串选择) 来提取 URL
从 page 中选择

Spanish: 
Entonces, el descanso ha terminado, ahora sabes acerca de Break.
Sabes acerca de los bucles while;
sabes acerca de If para tomar decisiones;
sabes todo lo que necesitas
para terminar el objetivo de la unidad de hoy
el cual es escribir el código para extraer todos los URL
de una página web.
Primero, recordemos lo que estabamos haciendo antes:
teníamos el código que se repetía
para obtener un link tras otro.
Teníamos un código como este; teníamos encontrando el inicio del link
y asuminos, antes ingresando este código,
que page tiene el contenido de alguna página web.
Buscaríamos por el inicio del link;
encontraríamos el star_quote
de nuevo usando find
pero esta vez pasando el inicio a la etiquita
y buscando las comillas dobles.
Luego encontraríamos el end_quote
y luego extraeríamos el URL usando la selección de cadena
seleccionandola de page

Italian: 
La ricreazione è finita, ora conosci "break".
Conosci i cicli "while";
conosci "if" per prendere decisioni;
conosci tutto quello che ti serve
per raggiungere gli obiettivi di questa unit,
che è di scrivere il codice per estrarre tutte le URL
da una pagina web.
Primo, ricordiamo cosa abbiamo fatto:
avevamo il codice che ciclava
per ottenere un link dopo l'altro.
Abbiamo un codice tipo: dobbiamo trovare lo "start_link" [link iniziale]
e assumiamo, prima di digitare il codice,
che "page" abbia il contenuto di una pagina web.
Dobbiamo cercare il link iniziale;
poi dobbiamo trovare la "start_quote"
di nuovo usando "find"
ma questa volta oltrepassando l'inizio del tag
e cercando i doppi apici.
Poi, vogliamo trovare "end_quote"
Quindi possiamo estrarre l'url usando la selezione di stringhe--
selezionando da "page"

Spanish: 
desde el startquote hasta el endquote.
Luego mostraríamos el URL
y esto era lo que necesitabamos para el primer URL
continuaríamos avanzando page
desde donde encontramos el end_quote hasta el final;
y luego haríamos todo esto mismo otra vez para encontrar el siguiente URL
y seguiríamos ejecutando este código una y otra vez
encontrando cuantos URL hubiera en page.

Chinese: 
從 start-quote 到 end-quote
然後，我們印出 url
這是擷取一個 url 需要做的事
我們將繼續搜索剩下的內容
從 end-quote 一直到末尾
然後我們再次做同樣的事，來搜尋下一個 url
我們將一遍又一遍地重複這些程式碼
盡可能地找出頁面上所有的 url
這是程式碼，縮小一點以便我們有更多空間
我們想要提取這部分，改為程序
這一部分
我們想要讓它持續的執行
我們知道 while loop 能夠不斷地執行
所以我們要寫一個 while loop ，不斷的搜尋 link
直到頁面的末尾
第一件事要討論的是
我們如何提取這個程序
我們需要做一些改變
讓程式碼在 while loop 中能正常執行
我們曾定義程序 get-next-target
需要輸入 page

English: 
from the "start_quote" to the "end_quote."
Then, we would print out the URL,
and this was what we needed to do for one URL.
We would continue by advancing the "page"
to go from where we found the "end_quote" to the end;
and then we would do all the same thing again to find the next URL.
And we'd keep doing this code, over and over again,
finding as many URLs as there were on the page.
So, here's the code, shrunken down so we have some more space.
What we want to do is extract into a procedure,
this part [indicating the first four lines after "page" is defined];
and then we want to make it so we can keep going.
We've seen "while" loops give us a way to keep going;
so, we'll end up writing a "while" loop that keeps looking for links
till we reach the end of the page.
So, the first thing we're going to talk about is
how we extracted this procedure,
and we're going to need to make a few changes to it,
to make it work well in our "while" loop.
We defined a procedure, "get_next_target"--
that takes the page as an input--

Chinese: 
從 start-quote 到 end-quote
然後，我們印出 url
這是擷取一個 url 需要做的事
我們將繼續搜索剩下的內容
從 end-quote 一直到末尾
然後我們再次做同樣的事，來搜尋下一個 url
我們將一遍又一遍地重複這些程式碼
盡可能地找出頁面上所有的 url
這是程式碼，縮小一點以便我們有更多空間
我們想要提取這部分，改為程序
這一部分
我們想要讓它持續的執行
我們知道 while loop 能夠不斷地執行
所以我們要寫一個 while loop ，不斷的搜尋 link
直到頁面的末尾
第一件事要討論的是
我們如何提取這個程序
我們需要做一些改變
讓程式碼在 while loop 中能正常執行
我們曾定義程序 get-next-target
需要輸入 page

Chinese: 
从 start_quote 到 end_quote
然后 我们将打印出 URL
这是提取一个 URL 所要做的
我们将继续搜索余下内容
从 end_quote 一直到结束
然后我们将重复所有这些来搜寻下一个 URL
我们将一遍遍重复这些代码
搜寻页面上所有的 URL
这是代码  缩小一点以便我们有更多空间
我们想要将其提取为一个过程
这一部分
我们想要让其不断运行
while 循环能够让编码不断运行
所以 我们将写一个 while 循环 不断搜寻链接
直到页面结束
我们要讲的第一点是
如何提取这一过程
我们要做一些改变
让代码在 while 循环中能很好地运行
我们定义了一个过程 get_next_target (获取下一目标) 
其输入为 page

Japanese: 
URLを抽出します
そしてURLを表示します
これが1つのURLに対して行う必要があるものでした
end＿quoteを見つけた位置から終わりまで
ページを進めることで継続します
そして次のURLを見つけるためにまったく同じことを
もう一度繰り返します
このページにあるURLを見つけるために
このコードで何度も繰り返します
これがコードです
スペースが足りないので小さくしました
ここでは抜き出して関数にしたいと思います
この部分ですね
これを行うと次に取り掛かることができます
whileループを使用して継続する方法を学びました
ページの最後にたどり着くまで
リンクを探し続けるwhileループを
最後に書きましょう
まず関数の抽出をどのように行うかをお話しします
whileループでしっかり機能するように
いくつか変更を加えます
関数のget＿next＿targetを定義しました
これは入力としてページを用います

Italian: 
da "start_quote" a "end_quote".
Poi vogliamo stampare l'url,
e questo è quello che dobbiamo fare per una url.
Dovremmo continuare avanzando in "page"
per andare da dove abbiamo trovato "end_quote" fino alla fine;
e poi ripeteremo tutte le operazioni ancora per trovare la prossima url.
E ripeteremo questo codice ancora e ancora,
per trovare tutte le url della pagina.
Così, questo è il codice, un po' ristretto in modo da guadagnare spazio.
Vogliamo estrarre in una procedura,
questa parte;
e fatto questo potremo proseguire.
Abbiamo visto che i cicli "while" ci danno un modo per proseguire
così, finiremo a scrivere un ciclo "while" che resti alla ricerca di links
finchè raggiungiamo la fine della pagina.
La prima cosa di cui parleremo,
è come estrarre questa procedura,
e ci servirà di modificarla,
per farla lavorare bene in un ciclo "while".
Definiamo una procedura "getnexttarget" [ritornaprossimotarget]
che prende la pagina come input--

Ukrainian: 
починаючи з позиції startquote і закінчуючи endquote.
Потім ми виводили URL на екран,
і це все, що нам необхідно було зробити з єдиною URL-адресою.
Потім ми урізали вміст page,
залишаючи в ній символи від позиції end_quote до кінця,
а потім проробляли ті ж дії, щоб знайти наступний URL.
І ми повторювали цей код знов і знов,
намагаючись знайти всі URL-адреси на сторінці.
Ось код, який я зменшив, щоб він не займав багато місця.
Нам необхідно виділити у процедуру
цю частину коду [показує на перші чотири рядки, що прямують за визначенням page],
і знайти спосіб виконувати її неодноразово.
Ми вже знаємо, що while-цикли дозволяють неодноразово виконувати той самий код,
тому нам доведеться написати while-цикл, в якому буде відбуватись пошук посилань,
доки ми не досягнемо кінця сторінки.
Отже, спочатку ми поговоримо про те,
як ми виділили код в цю процедуру,
при цьому нам знадобиться внести в неї декілька змін,
щоб вона коректно працювала всередині while-циклу.
Ми визначили процедуру getnexttarget(),
яка приймає на вхід веб-сторінку

Chinese: 
从startquote到endquote
然后 我们将打印出URL
这是提取一个URL所要做的
我们将继续搜索余下内容
从end_quote一直到结束
然后我们将重复所有这些来搜寻下一个URL
我们将一遍遍重复这些代码
搜寻页面上所有的URL
这是代码 缩小一点以便我们有更多空间
我们想要将其提取为一个过程
这一部分
我们想要让其不断运行
while循环能够让编码不断运行
所以 我们将写一个while循环 不断搜寻链接
直到页面结束
我们要讲的第一点是
如何提取这一过程
我们要做一些改变
让代码在while循环中能很好地运行
我们定义了一个过程 “getnexttarget”（获取下一目标）
其输入为page

Portuguese: 
até "end_quote".
Depois era só dar "print"
na URL.
É o que precisamos fazer
para um URL.
Depois era só continuar
avançando na "page",
indo de onde achamos
"end_quote" até o final.
Aí fazemos a mesma coisa
para achar o próximo URL.
Continuamos repetindo
esse código
para achar todos os URLs
existentes na página.
Eis o código em tamanho menor
para termos mais espaços.
Agora queremos extrair
para um procedimento
esta parte aqui.
E queremos
que isso se repita.
Já vimos que loops de "while"
fazem repetição,
então vamos escrever um loop
que continue procurando links
até chegar ao final
da página.
Primeiro, vamos falar de como
extrair esse procedimento.
Vamos ter que fazer
algumas alterações
para que funcione bem
no loop de "while".
definimos o procedimento
"get_next_target",
cuja entrada será a página,

Russian: 
начиная с позиции start&#95;quote и заканчивая end&#95;quote.
Затем мы выводили URL на экран,
и это все, что нам нужно было сделать с единственным URL-адресом.
Далее мы урезали содержимое page,
оставляя в ней символы от позиции end&#95;quote до конца,
а затем проделывали те же действия, чтобы найти следующий URL.
И мы повторяли этот код снова и снова,
пытаясь найти все URL-адреса на странице.
Вот код, который я уменьшил, чтобы он не занимал много места.
Нам нужно выделить в процедуру
эту часть кода [показывает на первые четыре строчки, следующие за определением page],
и найти способ выполнять ее неоднократно.
Мы уже знаем, что while-циклы позволяют неоднократно выполнять один и тот же код,
поэтому нам придется написать while-цикл, в котором будет происходить поиск ссылок,
пока мы не достигнем конца страницы.
Итак, сначала мы поговорим о том,
как мы выделили код в эту процедуру,
при этом нам понадобится внести в нее несколько изменений,
чтобы она корректно работала внутри while-цикла.
Мы определили процедуру get&#95;next&#95;target(),
которая принимает на вход веб-страницу

Russian: 
и содержит почти тот же код, что и здесь,
разница лишь в том, что в результате она возвращает и URL
и значение end&#95;quote.
Ранее у нас было задание,
выполняя которое, мы решили что get&#95;next&#95;target()
должна возвращать и URL, и end&#95;quote –
то есть позицию, в которой находится замыкающая кавычка.
Итак, нам нужно, чтобы эта процедура возвращала два значения,
поскольку мы должны знать и URL (в виде строки),
и место, с которого нужно искать следующую цель.
Нам еще не приходилось использовать процедуру, возвращающую два значения,
но вообще это довольно удобно
и легко реализовать.
Мы можем сделать это, просто поместив две переменных
слева от оператора присваивания.
Это работает везде, поэтому мы можем
вместо конструкции простого присваивания,
где за  следует знак равенства,

Chinese: 
之后是和这里完全一样的编码
除了在最后 程序将返回url
以及end_quote的值
我们之前有过一个小测验
所以你们知道"getnexttarget"
会返回url和end_quote
这是所找到的引用结束的位置
所以 我们需要这一过程返回两个值
因为我们需要知道作为一个字符串的url
以及从哪里继续搜寻下一目标
我们还没有用过能返回两个值的过程
但其实要做到这一点是很方便的
也很简单
只要将两个值
放在一个赋值语句的左边就行了
这一般都是可行的
赋值的简单规则是
一个Name（名称） 然后是等号

Chinese: 
之后是和这里完全一样的编码
除了在最后 程序将返回url
以及 end_quote 的值
我们之前有过一个小练习
所以你们知道 get_next_target
会返回 url 和 end_quote
这是所找到的引用结束的位置
所以 我们需要这一过程返回两个值
因为我们需要知道作为一个字符串的 url
以及从哪里继续搜寻下一目标
我们还没有用过能返回两个值的过程
但其实要做到这一点是很方便的
也很简单
只要将两个值
放在一个赋值语句的左边就行了
这一般都是可行的
赋值的简单规则是
一个 Name (名称) 然后是等号

Portuguese: 
e que tem exatamente
este código aqui,
a não ser no final,
onde ele vai retornar
tanto o URL
quanto o valor de
"end_quote".
Fizemos um quiz antes
onde determinamos que o que
"get_next_target" faz
é retonar o URL
e "end_quote".
É a posição onde o final
das aspas se encontra.
Este procedimento
tem que retonar dois valores.
porque temos que conhecer o URL,
como uma string,
e onde continuar procurando
pelo próximo alvo.
Ainda não usamos um procedimento
que retorna duas coisas,
Mas é conveniente e fácil
fazer isso.
Vamos fazer isso colocando
dois valores
à esquerda da declaração
de atribuição.
Em geral isso funciona.
Podemos fazer,
em vez de uma regra
de atribuição,
onde tínhamos um nome
seguido por
um sinal de igual,

Chinese: 
和這裡的程式碼完全一樣
除了在最後，程序將傳回
url 以及 end-quote 的值
我們之前有個測驗
你們決定了 get-next-target
應該要傳回 url 和 end-quote
end-quote 是右引號結束的位置
所以我們需要這個程序傳回兩個值
因為我們需要知道字串 url
以及從哪裡繼續搜尋下一個標靶 (target)
我們還沒有用過能傳回兩個值的程序
其實它是很方便的
也很簡單
只要將兩個值
寫在指定陳述的左邊
一般而言，這是可行的
簡單的指定 (assignement) 規則是
名稱，後面跟著等號

English: 
and essentially had exactly the code we have here--
except for, at the end, it would return both the URL
and the value of "end_quote."
And we had a quiz earlier
where you determined that what "get_next_target" should do
is return both the URL and the "end_quote"--
that is the position where the end of the quote was found.
So, we needed this procedure to return two values
because we need to know both the URL, as a string,
and where to continue looking for the next target.
We haven't yet used a procedure that reutrns two things,
but it's actually quite convenient
and simple to do this.
We can do this by just having two values
on the left side of an assignment statement
This works in general; so we can do--
instead of our simple assignment rule,
where we had a name, followed by an equal,

Chinese: 
和這裡的程式碼完全一樣
除了在最後，程序將傳回
url 以及 end-quote 的值
我們之前有個測驗
你們決定了 get-next-target
應該要傳回 url 和 end-quote
end-quote 是右引號結束的位置
所以我們需要這個程序傳回兩個值
因為我們需要知道字串 url
以及從哪裡繼續搜尋下一個標靶 (target)
我們還沒有用過能傳回兩個值的程序
其實它是很方便的
也很簡單
只要將兩個值
寫在指定陳述的左邊
一般而言，這是可行的
簡單的指定 (assignement) 規則是
名稱，後面跟著等號

Italian: 
ed essenzialmente ha lo stesso codice che vediamo qui--
ad eccezione di, alla fine, ritornare sia l'url
che il valore "end_quote".
Abbiamo fatto un quiz prima
dove hai determinato che "getnexttarget" dovrebbe
ritornare sia url che "end_quote" --
che è la posizione alla quale sono stati trovati i doppi apici di chiusura.
Faremo ritornare alla procedura i due valori
perchè ci serve sapere sia url, una stringa,
e dove continuare a cercare per il prossimo target.
Non abbiamo ancora scritto procedure ce ritornino due parametri,
ma è conveniente
e semplice farlo.
Possiamo fare ciò semplicemente mettendo due valori
al lato sinistro di una istruzione di assegnamento.
Questo lavora in generale; quindi possiamo
invece della nostra regola di assegnamento semplice,
dove abbiamo nome, seguito da un "=",

Ukrainian: 
і містить майже той самий код, що і тут,
різниця лиш у тому, що в результаті вона повертає і URL,
і значення end_quote.
Раніше у нас було завдання,
виконуючи яке ми вирішили, що getnexttarget()
повинна повертати і URL, і end_quote –
тобто позицію, в якій знаходиться замикаюча лапка.
Отже, нам потрібно, аби ця процедура повертала два значення,
оскільки ми повинні знати і URL (у вигляді рядку),
і місце, з якого необхідно шукати наступну ціль.
Нам ще не доводилось використовувати процедуру, що повертає два значення,
але взагалі це доволі зручно
і легко реалізувати.
Ми можемо зробити це, просто розмістивши дві змінних
ліворуч від оператора присвоювання.
Це працює усюди, тому ми можемо
замість конструкції простого присвоювання,
де за  йде знак рівності,

Japanese: 
基本的は終わりの部分を除いたここにあるコードです
urlとend＿quoteの値の両方を返します
小テストではget＿next＿targetで行うことが
urlとend＿quoteの両方を返すことだと学びましたね
end＿quoteは見つけたダブルクォーテーションの
終了する位置です
この関数は2つの値を返すようにしました
なぜなら次のターゲットを探し続ける場合に
urlは文字列として両方の値を知る必要があります
2つのものを返す関数を
まだ使用していませんね
とても便利で簡単ですよ
代入文の左辺に2つの値を置くことで行えます
通常これで機能します
シンプルな代入ルールの代わりに
変数名のあとにイコール

Portuguese: 
seguido por uma expressão,
o que atribui o valor
da expressão ao nome,
podemos ter vários nomes
à esquerda
e várias expressões
à direita.
Assim podemos fazer
várias atribuições
com qualquer número de nomes
separados por vírgulas,
um sinal de igual
e qualquer número de expressões
separadas por vírgulas.
Se o número de nomes
for igual ao de expressões,
o que acontece é que o valor
da 1ª expressão
é atribuído ao 1º nome.
Então este nome agora se refere
a este valor aqui.
O valor da 2ª expressão
é atribuído ao 2º nome.
Por exemplo, se tivermos:
a, b = 1, 2
atribuiremos a "a"
o valor "1"
e a "b" o valor "2".
Para que esses dois valores
sejam retornados,
precisamos ter dois valores
no lado esquerdo

Ukrainian: 
а потім ,
і таким чином значення  присвоюється змінній з даним ,
використовувати декілька  ліворуч
і декілька  праворуч від знаку рівності.
Отже, ми можемо виконати множинне присвоювання
з будь-якою кількістю ,
розділених комами, знаком рівності
та будь-якою кількістю ,
також відокремлюваних комами;
головне, аби кількість  та  співпадала.
Тут значення першого  присвоюється змінній з першим ,
так що це ім'я
тепер буде зберігати це значення,
а значення другого  присвоюється другому .
Наприклад, запис a, b = 1, 2
присвоїть змінній a значення 1,
а змінній b – значення 2.
Щоб отримати обидва повертних процедурою значень,
необхідно помістити обидві змінні ліворуч від знаку присвоювання,

English: 
followed by an expression,
and that would assign the value of the expression to "name"--
we can have multiple names on the left side,
and multiple expressions on the right side.
So, we can do multiple assignment,
where we have any number of names,
separated by commas, an equal sign,
and then any number of expressions,
also separated by commas.
As long as the number of names and the number of expressions match,
what happens is the value of the first expression is assigned to the first name--
so this name [indicating ]
will now refer to whatever this value was-- [indicating ]
the value of the second expression is assigned to the second name.
As an example, if we had "a, b = 1, 2",
this would assign to "a" the value "1,"
and to "b" the value "2."
In order to get the two values returned by this procedure,
what we need is to have two variables on the left side

Chinese: 
然后是一个Expression（表达式）
这将把表达式的值赋给Name
左边可以有多个Name
右边可以有多个表达式
这样我们就能进行多重赋值
我们可以有任意数目的Name
由逗号隔开 然后是等号
然后是任意数目的表达式
也由逗号隔开
只要Name的数目和表达式的数目相等
第一个表达式的值将赋给Name1
所以这个Name
将是这个值
第二个表达式的值将赋给Name2
比如 a, b = 1, 2
将把1赋给a
把2赋给b
要让这一过程返回这两个值
就需要两个变量在左边

Italian: 
seguito da una espressione,
che assegna il valore dell'espressione a "name" --
possiamo avere nomi multipli al lato sinistro,
e espressioni multiple al lato destro.
Così possiamo fare un assegnamento multiplo,
dove abbiamo un numero qualsiasi di nomi
separati da virgole, un segno di "=",
e poi un numero qualsiasi di espressioni,
ancora separate da virgole.
Finchè il numero dei nomi e il numero delle espressioni è lo stesso,
il valore della prima espressione è assegnato al primo nome --
così questo [Name1]
riferisce a questo valore [expression1] --
il valore della seconda espressione è assegnaot al secondo nome.
Come esempio, abbiamo "a, b = 1,2"
che assegna ad "a" il valore "1"
e a "b" il valore "2".
Per avere due valori di ritorno da questa procedura,
abbiamo bisogno di due variabili al lato sinistro

Chinese: 
然後是一個運算式
這會把運算式的值指定給名稱
我們在左邊，可以有多個名稱
右邊，可以有多個運算式
這樣我們就能做 "多指定" (multiple assignment)
我們可以有任意數目的名稱
由逗號隔開，然後是等號
然後是任意數目的運算式
也是由逗號隔開
只要名稱的數目和運算式的數目一致
第一個運算式的值被指定給第一個名稱
所以這個名稱
將指向這個值
第二個運算式的值被指定給第二個名稱
比如 a, b = 1, 2
這會把 1 指定給 a
把 2 指定給 b
為了讓這個程序傳回這兩個值
就需要在左邊寫上兩個變數

Russian: 
а затем ,
и таким образом значение  присваивается переменной с данным ,
использовать несколько  слева
и несколько  справа от знака равенства.
Итак, мы можем выполнить множественное присваивание,
с любым количеством ,
разделенных запятыми, знаком равенства
и любым количеством ,
также отделяемых запятыми;
главное, чтобы количество  и  совпадало.
Здесь значение первого  присваивается переменной с первым ,
так что это имя [показывает]
теперь будет хранить это значение [показывает],
а значение второго  присваивается второму .
К примеру, запись a, b = 1, 2
присвоит переменной a значение 1,
а переменной b – значение 2.
Чтобы получить оба возвращаемых процедурой значения,
нужно поместить обе переменных слева от знака присваивания,

Japanese: 
そのあとに数式を置くことで
変数に式の値を代入することができます
左辺には複数の変数名を置くことができ
右辺には複数の式を置くことができます
なので複数の変数名をコンマで区切り
次にイコール記号
そして複数の式をコンマで区切ることで
複数の代入を行うことができます
変数の数と式の数が合っている場合に限り
1つ目の数式の値を
1つ目の変数に代入することができます
ですからこの名前は
現在この値だったものを参照しています
2つ目の式の値を2つ目の名前に代入します
例えばa，b＝1，2の場合
aに1の値が代入されbに2の値が代入されます
この関数により返された2つの値を
得るために必要なのは

Chinese: 
然后是一个表达式
这将把表达式的值赋给 Name
左边可以有多个 Name
右边可以有多个表达式
这样我们就能进行多重赋值
我们可以有任意数目的 Name
由逗号隔开 然后是等号
然后是任意数目的表达式
也由逗号隔开
只要 Name 的数目和表达式的数目相等
第一个表达式的值将赋给 Name1
所以这个 Name
将是这个值
第二个表达式的值将赋给 Name2
比如 a, b = 1, 2
将把1赋给 a
把2赋给 b
要让这一过程返回这两个值
就需要两个变量在左边

Chinese: 
然後是一個運算式
這會把運算式的值指定給名稱
我們在左邊，可以有多個名稱
右邊，可以有多個運算式
這樣我們就能做 "多指定" (multiple assignment)
我們可以有任意數目的名稱
由逗號隔開，然後是等號
然後是任意數目的運算式
也是由逗號隔開
只要名稱的數目和運算式的數目一致
第一個運算式的值被指定給第一個名稱
所以這個名稱
將指向這個值
第二個運算式的值被指定給第二個名稱
比如 a, b = 1, 2
這會把 1 指定給 a
把 2 指定給 b
為了讓這個程序傳回這兩個值
就需要在左邊寫上兩個變數

Chinese: 
在右邊做程序呼叫 (procedure call)
其語法為 url
我們使用這個變數來存放 url
然後是 endpos
我們使用這個變數來存放結束的位置
然後右邊是 get-next-target
傳入 page
既然這會傳回兩個值，像是列出兩個運算式
傳回的第一個值會指定給 url
傳回的第二個值會指定給 endpos
能在指定陳述的左邊
有好幾個變數，是非常有用的
讓我們進行測驗，來看一個例子 .

Chinese: 
在右邊做程序呼叫 (procedure call)
其語法為 url
我們使用這個變數來存放 url
然後是 endpos
我們使用這個變數來存放結束的位置
然後右邊是 get-next-target
傳入 page
既然這會傳回兩個值，像是列出兩個運算式
傳回的第一個值會指定給 url
傳回的第二個值會指定給 endpos
能在指定陳述的左邊
有好幾個變數，是非常有用的
讓我們進行測驗，來看一個例子 .

Chinese: 
过程调用在右边
其结构为 首先是url
我们将用这个变量来存放这个URL
然后是endpos（结束位置）
我们将用这个变量来存放结束位置
右边是getnexttarget
传入page
这将返回两个值 像是列出两个表达式
返回的第一个值将赋给url
返回的第二个值将赋给endpos
能在赋值语句的左边写多个变量
这是非常有用的
下面我们进行一个小测验 看一个多重赋值的例子

Japanese: 
左辺に2つの変数を置き
右辺に関数の呼び出しを置くことです
使う構文はurlです
URLを保持するために変数として使用します
そして終了位置を保持するために
変数としてendposを使用します
そして右辺にget＿next＿targetを置き
pageを渡します
get＿next＿targetは2つの値を返すので
この2つの式のような意味になります
返された1つ目の値はurlに代入されます
返された2つ目の値はendposに代入されます
代入の左辺に複数の変数を置けるのは便利ですね
理由を確認する小テストを行いましょう

Chinese: 
过程调用在右边
其结构为 首先是 url
我们将用这个变量来存放这个 URL
然后是 endpos (结束位置) 
我们将用这个变量来存放结束位置
右边是 get_next_target
传入 page
这将返回两个值 像是列出两个表达式
返回的第一个值将赋给 url
返回的第二个值将赋给 endpos
能在赋值语句的左边写多个变量
这是非常有用的
下面我们进行一个小练习 看一个多重赋值的例子

Ukrainian: 
а виклик процедури - праворуч від нього.
Ми будемо використовувати url –
змінну для зберігання URL –
та endpos,
змінну, в якій буде зберігатись кінцева позиція,
а праворуч від знаку присвоювання буде виклик getnexttarget()
з аргументом page.
Оскільки процедура повертає два значення, цей запис містить два вирази:
перше повертне значення присвоюється url,
а друге повертне значення присвоюється endpos.
Можливість використовувати декілька змінних
ліворуч від знаку присвоювання дуже корисна.
Давайте перейдемо до завдання, яке дозволить нам переконатись у цьому.

Italian: 
e la chiamata della procedura a destra.
La sintassi che useremo è di usare "url"
come variavile per il valore dell'url;
e "endpos" --
per tenere il valore della posizione finale;
e poi, al lato destro, abbiamo "getnexttarget"
a cui passiamo "page".
Dal momento che ritorna due variabili, è come la lista di due espressioni:
il primo valore ritornato sarà assegnato a "url",
il secondo sarà assegnato a "endpos".
Avere la possibilità di avere più variabili
al lato sinistro di un assegnamento è molto utile.
Faciamo un quiz per vedere un esempio di come.

English: 
and the procedure call on the right.
The syntax we'll use is just the URL [url]--
we'll use that as the variable to hold the URL;
and "endpos"--
we'll use that as the variable to hold the end position;
and, then, on the right side, we have "get_next_target"
passing in "page."
Since this returns two values, it's like listing two expressions:
the first value returned will be assigned to "url,"
the second value returned will be assigned to "endpos."
Being able to have multiple variables
on the left side of an assignment is very useful.
Let's have a quiz to see an example of "why."

Portuguese: 
e a chamada de procedimento
à direita.
A sintaxe que usaremos é:
"url", que será a variável
que vai guardar o URL
e "endpos", que guardará
a posição final.
No lado direito,
temos "get_next_target"
cuja entrada é "page".
Como isso retorna dois valores,
é como listar duas expressões.
O 1º valor retornado
será atribuído para o "url"
e o 2º valor retornado
será atribuído para "endpos".
Poder contar
com várias variáveis
no lado esquerdo
de uma atribuição é muito útil.
Vamos fazer um quiz
para ver o por quê.

Russian: 
а вызов процедуры – справа от него.
Мы будем использовать url –
переменную для хранения URL –
и endpos,
переменную, в которой будет храниться конечная позиция,
а справа от знака присваивания будет вызов get&#95;next&#95;target()
с аргументом page.
Поскольку процедура возвращает два значения, эта запись содержит два выражения:
первое возвращаемое значение присваивается url,
а второе возвращаемое значение присваивается endpos.
Возможность использовать несколько переменных
слева от знака присваивания очень полезна.
Давайте перейдем к заданию, которое позволит нам убедиться в этом.
