Похоже, вы можете покончить с двумя переменными:
msg.split('.').each do |msg|
items = msg.split(',').map(&:strip)
somefunction(items)
end
Редактировать: я удалил unless
, так как массив, созданный split
, не будет содержать никаких. В вашем исходном коде это имело смысл в случае, если массив имел 0 или 1 элемент, но при использовании each
это становится ненужным.