This page contains automated test results for code from O'Reilly's Ruby Cookbook. If this code looks interesting or useful, you might want to buy the whole book.
Hiding Setup and Cleanup in a Block Method | ||
---|---|---|
Code | Expected | Actual |
def between_setup_and_cleanup setup() begin yield finally cleanup() end end def write_html(out, doctype=nil) doctype ||= %{<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">} out.puts doctype out.puts '<html>' begin yield out ensure out.puts '</html>' end end write_html($stdout) do |out| out.puts '<h1>Sorry, the Web is closed.</h1>' end |
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <h1>Sorry, the Web is closed.</h1> </html> |
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <h1>Sorry, the Web is closed.</h1> </html> |
open('output.txt', 'w') do |out| out.puts 'Sorry, the filesystem is also closed.' end Content-Type: text/html Content-Length: 137 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <HTML><H1>Sorry, the Web is closed.</H1></HTML> require 'rubygems' require 'builder' xml = Builder::XmlMarkup.new.message({'type' => 'apology'}) do |b| b.content('Sorry, Web Services are closed.') end puts xml |
<message type="apology"> <content>Sorry, Web Services are closed.</content> </message> |
Error! (Exception?) Here's stdout: SyntaxError: compile error (irb):26: parse error, unexpected ':', expecting $ Content-Type: text/html ^ from (irb):26 SyntaxError: compile error (irb):27: parse error, unexpected ':', expecting $ Content-Length: 137 ^ from (irb):27 SyntaxError: compile error (irb):28: parse error, unexpected '<' <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" ^ from (irb):28 |