Я исправил это, и теперь оно намного быстрее. Это был метод skipSpace ().
func skipSpace () {
for _ in spaceCount...textView.text.count {
if checkSpace() == false {
nextChar()
}
}
Когда я набираю много текста, этот диапазон цикла становится огромным (spaceCount ... textView.text.count), потому что он получает количество символов в textView, поэтому его просто нужно было изменить на фиксированное число, например: (spaceCount ... 50), и все!
Спасибо
Использование localtime функция:
В скалярном контексте, localtime () возвращает ctime (3) значение:
$now_string = localtime; # e.g., "Thu Oct 13 04:54:34 1994"
Можно использовать localtime для получения времени и модуль POSIX strftime
отформатировать его.
В то время как было бы хорошо использовать Дату:: Формат и его strftime, потому что это использует меньше служебное, модуль POSIX, распределяются с Perl и, как таким образом в значительной степени гарантируют, будут в данной системе.
use POSIX;
print POSIX::strftime( "%A, %B %d, %Y", localtime());
# Should print something like Wednesday, January 28, 2009
# ...if you're using an English locale, that is.
# Note that this and Date::Format's strftime are pretty much identical
Как кто-то еще упомянутый, можно использовать localtime, но я проанализировал бы его с Датой:: Формат. Это даст Вам метку времени, отформатированную в значительной степени любым способом, которым Вам нужен он.
Поскольку все остальные сказали, что "localtime" - то, как Вы приручаете дату легким и прямым способом.
Но только дать Вам еще одну опцию. Модуль DateTime. Этот модуль стал немного моим фаворитом.
use DateTime;
my $dt = DateTime->now;
my $dow = $dt->day_name;
my $dom = $dt->mday;
my $month = $dt->month_abbr;
my $chr_era = $dt->year_with_christian_era;
print "Today is $dow, $month $dom $chr_era\n";
Это распечатало бы, "Сегодня среда, Jan 28 2009AD". Только для показа нескольких из многих вещей это может сделать.
use DateTime;
print DateTime->now->ymd;
Это распечатывает "2009-01-28"
Самый простой оператор печати остроты для печати localtime в ясном, читаемом формате:
print scalar localtime (); #Output: Fri Nov 22 14:25:58 2019