Мне нужна небольшая помощь с процессом, который мы пытаемся построить, который должен быть способен динамически реагировать.
Процесс идет примерно так.Пользователь отправит запрос процесса в среду, отправив массив строковых значений в качестве значения времени выполнения.Процесс примет их в качестве массива в bash и перебирает их, проверяя их на соответствие заранее заданному списку строк на достоверность.После обнаружения они действительны, реагируя по-разному, исходя из того, какие значения находятся в строке.
Пример: пользователь отправляет запрос процесса со значениями "abc", "bcd", "cde", "def"
Значения "abc", "bcd", and "def"
действительны.
Мы делаем небольшую манипуляцию, чтобы сделать их пригодными для использования:
echo ${p:inputArray}
inputArray="${p:inputArray}"
inputArray=${inputArray//]/}
inputArray=${inputArray//[/}
inputArray=${inputArray//,/}
inputArray=( "${inputArray[@],,}" )
Затем перебираем каждое значение и реагируем:
for inputValue in $inputArray; do
if [[ "${validInputArray[@]}" =~ "${inputValue}" ]]; then
// Check if value is the outlier case "A"
// Or if the value is normal (but multiple) case "B"
// If case "B" then we'll build a variable for it
// It should be something like ${p:environment/$inputValue.action}
В идеале это дало бы мнеНапример, значение $ {p: environment / abc.action}.Но это не так.Это дает мне строку.У меня нет возможности оценить динамически созданный запрос свойства, так как все свойства оцениваются при инициализации, а не на лету.
Мы можем справиться с этим методом "case" - но это немного уродливо и будет только уродливее, когда число наших допустимых входных данных будет расти.