Вы, вероятно, хотите сместить оттенок, но не насыщенность или значение.
Так, преобразуйте свое значение RGB в HSV, добавьте 180 градусов к H (360 градусов по модулю, конечно) и преобразуйте назад в RGB.
Попробуйте следующее:
first, *rest = ex.split(/, /)
Теперь first
будет первым значением, rest
будет остальной частью массива.
Поскольку у вас есть массив, вам действительно нужен Array # slice
, а не split
.
rest = ex.slice(1 .. -1)
# or
rest = ex[1 .. -1]
] ex.split(',', 2).last
Число 2 в конце говорит: разделить на 2 части, не более.
обычно разделить значение на столько частей, сколько возможно, используя второе значение, вы можете ограничить, как вы получите много штук. Использование ex.split (',', 2)
даст вам:
["test1", "test2, test3, test4, test5"]
в виде массива вместо:
["test1", "test2", "test3", "test4", "test5"]
, если вы хотите использовать их как массив, который вам уже известен, иначе вы можете использовать каждый из их как другой параметр ... попробуйте следующее:
parameter1,parameter2,parameter3,parameter4,parameter5 = ex.split(",")
ex="test1,test2,test3,test4,test5"
all_but_first=ex.split(/,/)[1..-1]
Вы, вероятно, опечатали несколько вещей. Насколько я понимаю, вы начинаете со строки, такой как:
string = "test1, test2, test3, test4, test5"
Затем вы хотите разделить ее, чтобы оставить только значимые подстроки:
array = string.split(/, /)
И, в конце концов, вам нужны только все элементы, за исключением первого:
# We extract and remove the first element from array
first_element = array.shift
# Now array contains the expected result, you can check it with
puts array.inspect
Это ответ на ваш вопрос?