myList collect(description) select(!="") join("\n")
while (*to++ = *from++);
It is wrong to judge a language by tiniest code examples.
myList.collect { |f| f.description }.select { |d| d != "" }.join("\n")
myList.map(&:description).reject(&:empty?).join("\n")