У меня есть функции, которые возвращают случаи из таблицы, соответствующие определенным строкам. Как только я получу все случаи, соответствующие этим строкам, мне нужно найти в каждом случае (который представляет собой отдельный список) определенные строки и выполнить команду What. Но все, что я умею делать, это превращать весь большой список списков в одну строку, и тогда я получаю только один результат (когда мне нужен результат для каждого случая).
UC@EncodeTable;
EncodeTable[id_?PersonnelQ, f___] :=
Cases[#,
x_List /;
MemberQ[x,
s_String /;
StringMatchQ[
s, ("*ah*" | "*bh*" | "*gh*" | "*kf*" |
"*mn*"), IgnoreCase -> True]], {1}] &@
Cases[MemoizeTable["PersonnelTable.txt"], {_, id, __}]
Эта функция возвращает случаи из таблицы
Which[(StringMatchQ[
ToString@
EncodeTable[11282], ("*bh*" | "*ah*" |
"*gh*" ), IgnoreCase -> True]) == True, 1,
(StringMatchQ[
ToString@
EncodeTable[11282], ("*bh*" | "*ah*" |
"*gh*" ), IgnoreCase -> True]) == False, 0]
Эта функция ДОЛЖНА возвращать 1 или 0 для каждого случая, возвращаемого первой функцией, но я не знаю, как искать в списках, не делая их все одной строкой и возвращая результат для каждого списка.