From: Dave Thomas Date: 2000-08-08T08:18:22-05:00 Subject: [ruby-talk:04344] Re: DRY and embedded docs. Hugh Sasse Staff Elec Eng writes: > If I have a here document in some ruby program: >... > How can I get this text into a > =begin > =end > section so I can have it as documentation, without breaking the > Don't Repeat Yourself rule? > ..... And a darn fine rule it is too.. ;-) This is kind of tacky, but it does work--both rd and the program can access the same explanatory text: def usage copying = false while DATA.gets break if /^=end/ if /^=begin/ copying = true else print if copying end end end usage() unless ARGV.length >= 2 puts "Body of program..." __END__ =begin Here is my documentation. prog [ option ... ] file1 file2 Options: -a all -b before -c change =end Now, I just had a thought... Wouldn't it be neat if rdtool had an option that did just this, so you could say RD::usage and it would format up the text neatly for you? Dave