From: Anurag Priyam Date: 2011-03-21T00:09:59+09:00 Subject: Re: Name generator | I need feedback > filename = ARGV[0] || "default.txt" > file = File.new(filename, "r") > lines = file.readlines > file.close A better alternative since the block invocation automatically takes care of closing the file: lines = File.open(filename) {|f| f.readlines} or just, lines = File.readlines(filename) > lines = lines.to_s.split("--") # separate adjectives from nouns > adjs = lines[0].split("\n") > seps = lines[1].split("\n") # name separators (" " - _ |) > nouns = lines[2].split("\n") Converting to string and then splitting again looks expensive. Since your separator is fixed, why not just do: separator = lines.index('--\n') adjs = lines[0..sep] nouns = lines[(sep+1)..-1] -- Anurag Priyam http://about.me/yeban/