Я хочу написать код, который касается строк с символами в другом порядке, равными тем же самым тем же символам, что и в строках. Например, предположим, что $ a = "ksv", когда кто-то вводит строковое значение "svk" или "kvs", я хочу написать код, который эти строки эквивалентны $ a. Вот пример:порядок символов строки в perl
@ans=("ksv", "kvs", "svk", "vsk",......);
if (@input[1] ~~ @ans) {
return 'EXACT_ANS';
}
@input [1] - это то, что пользователь поставит строку. Сначала я перечислил все различные типы порядка в виде массива (как и в примере), так что, если один из элементов массива совпадает с @input [1], я верну его в качестве правильного ответа. Тем не менее, это довольно длинная и утомительная работа, если у меня есть строка с гораздо большей длиной. Пожалуйста, дайте мне совет по этому поводу. Спасибо ^^
Должны ли длины двух строк быть равными? Другими словами, должен ли 'svksvk' также соответствовать? – ThisSuitIsBlackNot
Как Perl предупредит вас, '@input [1]' является нестандартным способом записи '$ input [1]'. – ikegami
Прежде всего, не используйте смарт-матч. '$ input [1] ~~ @ ans' - экспериментальная функция, которая может быть изменена или удалена из более поздних версий языка. Лучшей альтернативой является «List :: Util :: first» – Borodin