Вы можете использовать программу Google для IOS Simulator Cropper, полезную для захвата снимков экрана, а также простую в использовании с различными вариантами создания снимков, как с симулятором / без симулятора.
Обновление Просто нажав CMD kbd> + S kbd>, вы получите скриншот, сохраненный на рабочем столе. Довольно просто, да ..
Нумерованные переменные соответствия ($ 1, $ 2, $ 3 и т. Д.) И соответствующий набор знаков препинания ($ +, $ &, $ `, $ ' , и $ ^ N) все динамически ограничены до конца включающего блока или до следующего успешного совпадения, в зависимости от того, что наступит раньше. (См. «Составные операторы» в perlsyn.)
Это означает, что при первом запуске регулярного выражения или подстановки в области создается новая локальная
преобразованная копия. Исходное значение восстанавливается (а-ля локально), когда область действия заканчивается. Итак, $ 1
будет равно 10 до тех пор, пока не будет выполнено регулярное выражение, 20 после регулярного выражения и снова 10. после завершения подпрограммы.
Но я не использую переменные регулярного выражения вне подстановок.
Внеся пару небольших изменений в код примера:
sub bla {
my $x = shift;
print "$1\n";
$x =~ s/(\d+)/$1 $1/;
return $x;
}
my $y = "hello world9";
# some code that manipulates $y
$y =~ /(\w*)\s+(\w*)/;
my $z = &bla($2);
my $w = $1;
print "$1 $2\n$z\n";
мы получим следующий результат:
hello
hello world9
world9 9
, показывающий, что $ 1
ограничен ] динамической области (то есть $ 1
, назначенный в bla
, перестает существовать в конце этой функции (но $ 1
, назначенный из Регулярное выражение $ y
доступно в bla
, пока оно не будет перезаписано))
Переменные будут действительны до следующего раза, когда они будут записаны в потоке выполнения.
Но на самом деле вы должны использовать что-то вроде:
my ($match1, match2) = $var =~ /(\d+)\D(\d+)/;
Затем используйте $ match1 и $ match2 вместо $ 1 и $ 2, это гораздо менее двусмысленно.