Я хотел бы цикл 20 раз над выражением if, но каждый раз, когда он запускается, некоторые вещи должны меняться.Ruby - Loop IF x times and change condition
Пример:
input = [0,0,0,44,754,22,0,632,2,22,0,2,nil,2,24,nil,666,90909,2,4,6,7,2,7,3,2,2,7,1,8,6,3,2,19,5,46]
Statement = "Statement THIS"
if
input[1] != nil &&
input[2] == 0
Statement.sub! "THIS", "WHERE #{input[8]} #{input[9]} THIS"
else
end
puts Statement #Statement WHERE 2 22 THIS
if
input[5] != nil &&
input[6] == 0
Statement.sub! "THIS", "AND #{input[12]} #{input[13]} THIS"
else
end
puts Statement #Statement WHERE 2 22 AND 2 THIS
if
input[9] != nil &&
input[10] == 0
Statement.sub! "THIS", "AND #{input[16]} #{input[17]} THIS"
else
end
puts Statement #Statement WHERE 2 22 AND 2 AND 666 90909 THIS
В втором IF заявлении следующие вещи изменились:
- Каждый ключ увеличился на 4 (1,2,8,9 стал 5,6,12 , 13)
- слово WHERE изменилось к И
Я хотел бы это поведение, чтобы повторить еще 18 раз, так что третий IF оператор имеет:
- Каждый ключ увеличился на 4 (5,6,12,13 стал 9,10,16,17)
- Слово ПРИВЕТ изменилось распрощаться (однако это правило сейчас избыточным, поскольку второй оператор IF позаботился об этом).
так в чем проблема? не можете ли вы сделать 'if elsif'? – Aleksey
Я могу, но у меня более 30 if-утверждений, и каждый из них будет нуждаться в таком поведении (20 циклов). Результат будет очень длинным, и мне интересно, возможно ли подобное поведение с этим поведением. –
Похоже, я не понимаю. Что такое исходные данные? – Aleksey