PL Perl  ·  25 вопросов  ·  ~70 мин  ·  ⏱ Таймер 10:00  ·  Средний  · 

Unicode в Perl

Практические задания по теме «Unicode в Perl» требуют сопоставить несколько решений, найти источник ошибки и оценить последствия выбранного подхода. В тесте 25 вопросов: код нужно не только читать, но и трассировать, проверять на отказ, сопоставлять несколько правдоподобных решений. Ровно 15 заданий содержат фрагменты Perl; остальные проверяют выбор подхода в реальной ситуации. Если в условии не сказано иначе, предполагаются современный Perl 5.40+, strict и warnings; внешние модули рассматриваются в указанном контексте.

Отвечено: 0 из 25
⏱ --:--
0%
💡 Инструкция: Выберите один ответ из пяти. На 25 вопросов отведено 70 минут. В каждом вопросе верен только один вариант. После завершения откроются общий результат, оценки по 5 тематическим шкалам и подробный разбор.
Вопрос 1 из 25
Какой вывод следует непосредственно из операций примера «Внутреннее представление»?
PerlВнутреннее представление
use utf8;
my $s = 'Привет';
say length $s;
Вопрос 2 из 25
Не запуская фрагмент «Декодирование», выберите точное описание его работы.
PerlДекодирование
use Encode qw(decode FB_CROAK);
my $text = decode('UTF-8',$bytes,FB_CROAK);
Вопрос 3 из 25
Как точнее всего описать действие фрагмента с `$bytes`, `$text` и `$raw_fh`?
PerlВывод
use Encode qw(encode);
my $bytes = encode('UTF-8',$text);
print {$raw_fh} $bytes;
Вопрос 4 из 25
Что непосредственно следует из показанного кода с `$a`, `$input` и `$b`?
PerlНормализация
use Unicode::Normalize 'NFC';
my $a = NFC($input);
my $b = NFC($stored);
say $a eq $b;
Вопрос 5 из 25
Не запуская фрагмент «Проверка допущений», выберите точное описание его работы.
PerlПроверка допущений
my $bytes = pack('C*',0xD0,0x90);
my $text = decode('UTF-8',$bytes,FB_CROAK);
Вопрос 6 из 25
Обычный случай проходит. Что в блоке «Внутреннее представление» всё же сделано неверно?
PerlВнутреннее представление
use utf8;
my $bytes = <STDIN>;
say length $bytes;
Вопрос 7 из 25
Какой дефект проявится в варианте «Декодирование» с `$text`, `$bytes` и `decode`?
PerlДекодирование
my $text = decode('UTF-8',$bytes);
$text = decode('UTF-8',$text);
Вопрос 8 из 25
Где находится первопричина возможного сбоя в коде с `$text`?
PerlВывод
print STDOUT $text;
Вопрос 9 из 25
Где находится первопричина возможного сбоя в коде с `%seen`, `$seen` и `$name`?
PerlНормализация
my %seen; $seen{$name}=1;
Вопрос 10 из 25
Какую границу автор фрагмента «Проверка допущений» не учёл?
PerlПроверка допущений
if ($input =~ /\A\w+\z/) {
    accept_identifier($input);
}
Вопрос 11 из 25
Как правка с `encoding` меняет поведение на неудобном входе?
PerlВнутреннее представление
binmode STDIN, ':encoding(UTF-8)';
binmode STDOUT, ':encoding(UTF-8)';
Вопрос 12 из 25
Что отличает это исправление от маскировки симптома?
PerlДекодирование
my $text = decode('UTF-8',$bytes,FB_CROAK);
process($text);
Вопрос 13 из 25
Почему новая версия с `$text` и `encoding` устраняет исходный дефект?
PerlВывод
binmode STDOUT, ':encoding(UTF-8)';
print STDOUT $text;
Вопрос 14 из 25
Какое свойство новой версии с `$key`, `$name` и `NFC` важно закрепить тестом?
PerlНормализация
my $key = NFC(fc($name));
Вопрос 15 из 25
Почему пограничный случай больше не теряется в участке с `$input`?
PerlПроверка допущений
die 'bad' unless $input =~ /\A[0-9A-Za-z_]+\z/a;
Вопрос 16 из 25
Как сформулировать основное правило блока «Внутреннее представление» без лишних обещаний?
Вопрос 17 из 25
Что точнее всего описывает контракт механизма «Декодирование»?
Вопрос 18 из 25
Какую закономерность проверяют задания темы «Вывод»?
Вопрос 19 из 25
Какое положение темы «Нормализация» помогает выбрать надёжную реализацию?
Вопрос 20 из 25
Какой вывод стоит перенести из учебного примера «Проверка допущений» в рабочий код?
Вопрос 21 из 25
Какой предел гарантий блока «Внутреннее представление» остаётся в силе после успешного запуска?
Вопрос 22 из 25
Что остаётся верным о теме «Декодирование», если учитывать контекст, отказ и побочный эффект?
Вопрос 23 из 25
Какое ограничение блока «Вывод» следует проверять отдельным примером?
Вопрос 24 из 25
Где проходит граница применимости правила из темы «Нормализация»?
Вопрос 25 из 25
Какое предостережение по теме «Проверка допущений» нельзя заменить включением strict и warnings?

Ответьте на все 25 вопросов, чтобы получить результат

🔗 Встроить тест на свой сайт (iframe) ▼

Скопируйте код и вставьте в любое место на вашем сайте:

Также доступна прямая ссылка на embed-страницу