Откройте несколько файлов и выполните анализ n (n-1) / 2 комбинаций каждого файла с помощью сценария ruby - PullRequest
0 голосов
/ 10 октября 2011

Я делаю сравнительный анализ.У меня есть «x1, x2, .... xn» количество файлов.Я хочу использовать каждый файл в качестве отдельного элемента ввода и обработать его сценарием как (x1 против x2, x1 против x3, .... x (n-1) против xn).Это будет повторять n (n-1) / 2 операций с n (n-1) / 2 результатами.

Пожалуйста, помогите мне итеративно открыть число n файлов и получить результаты в n (n-1) / 2 комбинациях.

Имя файла будет случайным образом отличаться суффиксом* .gbk

Ответы [ 2 ]

1 голос
/ 10 октября 2011
Dir['name/of/the/directory/*.gbk'].combination(2) do |f1, f2|
   puts "file #{f1} vs file #{f2}"
end
0 голосов
/ 11 октября 2011
input = "name/of/the/directory/"
array_of_input_files = Array.new
Dir.foreach(input) do |f|
 if f =~ /gbk$/
  array_of_input_files.push(f)
 end
end

array_of_input_files.each_with_index do |inp1, index1|
  array_of_input_files.each_with_index do |inp2, index2|
    if index2 > index1
      puts "#{inp1} vs #{inp2}"
    end
  end
end

Я попробовал это и работал хорошо. Пожалуйста, прокомментируйте это с лучшим способом написания сценариев для вышеуказанного метода.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...