When should you use underscores to
separate words in variable names or
function definitions? Always?

I tend to use them always for
function definitions like:

calculate_sum
extract_lines
....

But the Ruby built in classes
do not always use them.
For example: IO#readlines
Why not: IO#read_lines ?

Are there any guidelines on this
subject? How do think they should
be used?