Обсуждение:Функция inlist(v1, v2, v3...) проверяет, содержится ли указанное значение в списке других значений, указанных через запятую.
0 (0)
Обсуждение:Функция inlist(v1, v2, v3...) проверяет, содержится ли указанное значение в списке других значений, указанных через запятую. ( Обсуждение примера 02.08.2018 01:08 )
3(3)функция inlist(v1, v2, v3...)
простое назначение - проверяет, содержится ли указанное значение в списке других значений, указанных через запятую.
Если да - возвращает истину, если нет - возвращает ложь.
Посмотреть пример
>> ОтветитьА compareStrWithMasks() не проще будет? ( Avantage 02.08.2018 08:34 )
5(1)Not specified
>> ОтветитьА compareStrWithMasks() не проще будет? ( Avantage 02.08.2018 08:53 )
5(1)В простейших сравнениях разница между inlist() и compareStrWithMasks() вряд ли будет заметна
import Bankinter; var ii; var mask = "1,3,5,7,9,12,4,16,8"; getInt(ii); if (compareStrWithMasks(mask,String(ii))==0) MsgBox("Попал!); else MsgBox("Смазал!"); end;
Но ведь маску-то можно задать и довольно хитрую, типа:
var mask = "((40817-40820,423*,426*)&!(?????810*))";
Посмотрите, может лучше разобраться с возможностями функции CompareStrWithMasks() и начать использовать её?
>> ОтветитьЕсть такая, пользуюсь для сравнения счетов.... ( Hammer 02.08.2018 10:45 )
5(1)Как указано в доке - "CompareStrWithMasks() - Процедура проверяет, соответствует ли строка маске. Данная процедура ориентирована на проверку именно балансовых счетов"
Ни слова про списки....
Для поиска по списку, мне inlist проще набрать, foxproшное прошлое)
Для поиска по маске, да - CompareStrWithMasks. Работает шустро.
Сколько тайн скрыто в RSL, подозреваю, он и вышивать умеет, крестиком...
>> ОтветитьА как узнать входит ли Дата в список перечисленных дат? ( Hammer 02.08.2018 10:56 )
5(1)var date1 = date(03,01,2018); println(inlist(date1, date(03,01,2015), date(03,01,2018), date(03,01,2018), date(03,01,2015)));
выводит - true, входит
var date1 = date(03,01,2018); var mask = "03.01.2015,04.03.2015,03.01.2018,05.07.2018";
println(compareStrWithMasks(mask,string(date1)));
выводит - 1 - не найдено
>> ОтветитьString для даты отрезает передний ноль ( Avantage 02.08.2018 11:07 )
5(1)String для даты отрезает передний ноль. Надо маску задавать:
var mask = "3.01.2015,4.03.2015,3.01.2018,5.07.2018";
>> Ответитьили использовать string(data1:f); ( Hammer 02.08.2018 11:22 )
5(1)
с блэкджеком ( tema 09.08.2018 15:52 )
5(1)import assarray; var list123=TAssarrayI(1,2,3); var x=3; if (list123.exist(x)) println("значение ",x," содержится в списке "+list123.Implode()); end; var listABC=TAssarrayS("C","DE","FGA", "ABC", "A"); x="ABC"; if (listABC.exist(x)) println("значение ",x," содержится в списке "+listABC.Implode()); end;
>> Ответить