> 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/