Единственная причина, по которой я вижу, что кто-то хочет использовать *
для присоединения к массиву строк, заключается в том, что он хочет избежать слова join
, которое также используется в потоках.
Сследующее:
strings = ["John", "Smith"]
threads = [Thread.new{puts "hai"}, Thread.new{ puts "world!"}]
strings.join(" ") # Legit
threads.each {|thread| thread.join} # Legit
вы можете ошибиться, если сделаете
threads.join # Not legit, but won't raise an error
Если вы замените strings.join
на strings.*
, то у вас будет меньше join
скод.Теперь вы можете сделать для них grep
и проверить, что каждый выполняется с потоком, а не с массивом.На самом деле, вы можете сделать Array#join
сгенерировать исключение.