[Peter] The correct answer for this
is all of them but the second choice.
Let's see why.
Let's pick an example, string s.
Let's say s is duck.
In the first example, we concatenate a with s,
so taking one onwards is going to give us back duck,
which is our original string s.
This works. For the second choice, let's just plug in duck.
The first character, the zeroth character in duck
is going to be d, and we're going to concatenate that
with the rest of the string, giving us back our original string duck.
So this seems like it works, but we have to remember that s
can be the empty string.
If we try taking the character at position 0,
we would get an error because there is no character at position 0
because there are no characters in s.
Moving on, if we try adding an empty string
onto s, we get exactly what we had before because we're not adding anything.
For the last choice, it doesn't seem completely obvious
that it works for the empty string.
It seems unintuitive that taking every character from position 0 onward
would not result in an error because there are no characters.
Well, we have to remember that for the subsequence operator,
this does not cause an error.
Why is that the case? Because.
La respuesta correcta es
todas menos la segunda.
Veamos por qué,
Pensemos en una cadena s de ejemplo.
Digamos que s es "duck" (pato).
En el primer ejemplo, concatenamos a con s,
así que, si tomamos desde la posición 1 en adelante nos devuelve "duck"
que es igual a nuestra cadena inicial s.
Funciona. Para la segunda opción, escribamos "duck" otra vez.
La primera letra, el carácter 0 en la cadena "duck"
va a ser la letra d, y la vamos a concatenar
con el resto de la cadena, el resultado es igual a nuestra cadena original "duck".
Y al parecer funciona, pero tenemos que recordar que s
puede ser una cadena vacía.
Si intentamos tomar el carácter de la posición 0,
nos va devolver un error porque no existe un carácter en la posición 0
ya que s no contiene ningún carácter.
Continuemos, si tratamos de añadir una cadena vacia
a s, obtenemos el mismo resultado que teníamos porque en realidad no estamos añadiendo nada.
Para la última opción, no parece ser que
funcione con la cadena vacía.
Parece poco intuitivo que al tomar todas las letras desde la posición 0 en adelante
no vaya a resultar en error, ya que no contiene caracteres,
Bueno, tenemos que recordar que para el operador de subsecuencias,
esto no dispara un error.
¿Y se preguntarán por qué? Porque sí.
La risposta corretta è
tutte tranne la seconda opzione
Vediamo perchè
Facciamo ad esempio, che la stringa s
sia, diciamo, "duck"
Nel primo esempio, concateniamo a con s
quindi prendendo la stringa dalla posizione uno otteniamo ancora duck
che è la nostra stringa originale
Questo funziona. Per la seconda scelta colleghiamo duck
Il primo carattere, a posizione zero in duck
sarà d, successivamente concateneremo quella d
con il resto della stringa, restituendoci la stringa originale duck
Bene, sembra funzionare, ma dobbiamo ricordarci che s
potrebbe anche essere una stringa vuota
Se tentassimo di recuperare il carattere a posizione 0,
otterremo un errore visto che non ci sono caratteri a posizione 0
visto che non ci sono caratteri in s
Proseguendo, se tentiamo di aggiungere una stringa vuota
in s, otteniamo esattamente ciò che avevamo prima visto che non aggiungiamo nulla
L'ultima opzione, non sembra proprio palese
che funzioni per una stringa vuota
sembra controintuitivo che prendendo tutti i caratteri dalla posizione 0 in avanti
non otteniamo un errore visto che non ci sono caratteri
Bene, occorre ricordare che per l'operatore di sottosequenza
questo non causa un errore
Come mai? Perchè
この問題の正解は2番目の選択肢を除くすべてです
理由を見てみましょう
文字列sの例を決めます sはduckと仮定してみましょう
最初の選択肢ではaとsを連結させます
先に1を取るとduckが返されます
これは元の文字列sです これは正解です
2つ目の選択肢ではduckをプラグインしてみましょう
1番目の文字つまりduckの0番目の文字は dになります
それを残りの文字列と連結させます 元の文字列duckが返されます
これも正解のように思われますが sが空の文字列の可能性があることを
忘れてはいけません
もしゼロの位置で文字を取ったら
sには文字がないのでゼロの位置にも文字がなく エラーが出ます
次に進みます 空の文字列をsに追加した場合は
何も追加していないので 以前のものをそのまま取得します
最後の選択肢は明らかに 空の文字列で機能するようには見えません
先にゼロの位置からすべての文字を取ってしまうと 文字がなくなってしまうのに
最終的にエラーが出ないことが直感的に分かりません
部分列演算子の場合はこれでエラーが起きないことを 忘れてはいけません
なぜそうなるのでしょうか
A resposta correta desta
são todas, exceto a segunda opção.
Vamos ver por quê.
Peguemos um exemplo, uma string "s".
digamos que "s" armazena "duck".
No primeiro exemplo, concatenamos 'a' com a variável "s",
tendo assim 'um adiante', teremos de volta "duck",
que é o nosso string "s" original.
Isso funciona. Para a segunda opção, vamos ligar "duck".
O primeiro caractere, o caractere 0 em "duck"
vai ser "d", e nós vamos concatena-lo
com o resto da 'string', o que nos dá de volta, a string original "duck".
Portanto, este parece que funciona, mas temos que lembrar que "s"
pode ser uma string vazia.
Se tentarmos tirar o caractere na posição 0,
obteríamos um erro porque não háveria nenhum caractere na posição 0
porque não existem caracteres em "s".
Seguindo em frente, se tentarmos adicionar uma string vazia
para "s", teremos exatamente o que tínhamos antes, porque não estamos acrescentando nada.
Para a última opção, não parece completamente óbvio
que funciona para uma string vazia.
Parece intuitiva que tomar todos os caracteres da posição 0 em diante
não resultaria em um erro porque não há caracteres.
Bem, temos que lembrar que para o operador subseqüência,
isso não causa um erro.
Porque é esse o caso? Porque.
[Питер] Правильный ответ:
верны все варианты, кроме второго.
Давайте посмотрим, почему.
Выберем произвольную строку s.
К примеру, s, равную 'duck'.
В первом примере мы сцепляем 'a' и s,
и выборка с позиции 1 даст нам 'duck',
то есть исходную строку s.
Все верно. Во второй вариант также подставим строку 'duck'.
Первый символ строки 'duck', в позиции 0,
будет равен 'd', и мы сцепим его
с остальной строкой, что даст нам первоначальную строку 'duck'.
Кажется, все верно, но нам нужно помнить, что s
может быть и пустой строкой.
Если мы попытаемся получить из нее символ в позиции 0,
то получим ошибку, потому что в позиции 0 нет символа,
так как в строке s вообще нет символов.
Далее, если мы прибавим пустую строку
к s, то получим ту же строку s, потому что мы не добавили в нее ничего нового.
Для последнего варианта не сразу очевидно,
что он верен и для пустой строки.
Неочевидно то, что выборка от позиции 0 до конца строки
не приводит к ошибке, ведь в пустой строке нет символов.
Однако нам нужно помнить, что для выборки подпоследовательностей
это не приводит к ошибке.
Почему? Ну.. потому что.
[Пітер] Правильна відповідь:
правильні всі варіанти, крім другого.
Давайте подивимося, чому.
Оберемо довільний рядок s.
Наприклад, s, що дорівнює 'duck'.
У першому прикладі ми зв'язуємо 'a' і s,
і вибірка з позиції 1 дасть нам 'duck',
тобто вихідний рядок s.
Все правильно. У другий варіант також підставимо рядок 'duck'.
Перший символ рядка 'duck', в позиції 0,
дорівнюватиме 'd', і ми зчепимо його
з рештою рядка, що дасть нам первісний рядок 'duck'
Здається, все правильно, але нам потрібно пам'ятати, що s
може бути і порожнім рядком.
Якщо ми спробуємо отримати з нього символ в позиції 0,
то отримаємо помилку, тому що в позиції 0 немає символу,
оскільки в рядку s взагалі немає символів.
Далі, якщо ми додамо порожній рядок
до s, то отримаємо той же рядок s, тому що ми не додали до нього нічого нового.
Для останнього варіанту не одразу очевидно,
що він правильний і для порожнього рядка.
Неочевидно те, що вибірка від позиції 0 до кінця рядка
не призводить до помилки, адже в порожньому рядку немає символів.
Однак нам потрібно пам'ятати, що для вибірки підпослідовностей
це не призводить до помилки.
Чому? Ну... тому що.
这个问题的正确答案是
除了第二个选项 其他都对
让我们看看为什么
我们选一个例子 字串 s
比方说 s 是 'duck'
第一个例子中 我们连接 a 和 s
所以选择 1 和之后的字符 会得到 'duck'
这是我们原来的字串 s
这个正确 对于第二个选项 让我们插入 'duck'
第一个字符 'duck' 的位置 0 的字符是 d
将字符串剩下的部分连接起来
得到了一开始的字符串 'duck'
因此 这似乎是正确的 但我们必须记住的是
s 可以是空字串
如果我们尝试取出位置 0 的字符
我们会得到错误 因为位置 0 没有字符
因为在 s 中没有字符
继续 如果我们试图加一个空字串到 s
我们得到的值和原始值完全相同 因为我们没有加入任何东西
最后的选项 它似乎并不是那么明显
对于空字符串 它是正确的
这似乎没那么好懂 从位置 0 起选择每一个字符
不会造成错误 因为没有字符
我们必须记住 次序列运算符
不会导致错误
为什么会是这样呢？因为…
這個問題的正確答案是
除了第二個選項，其他都對
讓我們看看為什麼
讓我們選擇一個例子，字串 s
比方說，s 是 'duck'
第一個例子中，我們連接 a 和 s
所以選擇 1 和之後的字元會得到 'duck'
這是我們原來的字串 s
這個正確，對於第二個選項，讓我們插入 'duck'
第一個字元，'duck' 的位置 0 的字元是 d
將剩下的字串連接起來
回到了原始字串 'duck'
因此，這似乎是正確的，但我們必須記住的是
s 可以是空字串
如果我們嘗試取出位置 0 的字元
我們會得到 error，因為位置 0 沒有字元
因為在 s 中沒有字元
繼續，如果我們試圖加一個空字串到 s
我們得到的值和原始值完全相同， 因為我們沒有加入任何東西
最後的選項，它似乎並不是那麼明顯
在空字串時，它是正確的
這似乎沒那麼直覺，從位置 0 起選擇每一個字元
不會造成 error，因為沒有字元
嗯，我們必須記住，次序列 (subsequence) 運算子
不會導致 error
為什麼會是這樣呢？ 因為