Actually, it's a little cooler than anything built into IRB. For example: http://www.google.com/search?hl=en&q=121+feet+in+furlongs&btnG=Google+Search or: http://www.google.com/search?hl=en&lr=&safe=off&c2coff=1&q=15+pound+feet+in+newton+meters&btnG=Search On 10/7/05, Phil Tomson <ptkwt / aracnet.com> wrote: > In article <1128645005.327652.154530 / g49g2000cwa.googlegroups.com>, > m4dc4p <jgbailey / gmail.com> wrote: > >I whipped a quick script to send queries to Google and scrape results > >if it's a valid "calculator" query. If you don't know what I mean, put > >"5 + 5" into the Google search box. I love the feature but hate having > >to open a web browser each time I want to use it. Thus, this script! > > Google is now a calculator?! Uh, errr, umm, this is getting a little bit out > of hand, no? > > You could also use irb as a calculator: > irb(main):009:0> 5+5 > => 10 > > > > >I'm pretty much a n00b to Ruby so any feedback, improvements, comments > >are appreciated. Enjoy! > > > >--- cut here --- > >require 'net/http' > >require 'cgi' > > > >format_result = Proc.new { |s| > > s.gsub("<font size=-2> > ></font>",",").gsub("×","x").gsub("<sup>","^").gsub("</sup>", "") > >} > > > >matchExp = Regexp.new("<td><img > >src=/images/calc_img.gif></td><td> </td><td nowrap>(.*?) = > >(.*?)</b>") > >while ((! (print "Enter an expression (exit to quit): "; line = > >gets).nil?) && line.strip.upcase != "EXIT") > > resp = > >Net::HTTP.get_response(URI.parse("http://www.google.com/search?q=#{CGI.escape(line.strip)}")) > > if resp.code == "200" > > begin > > matches = matchExp.match(resp.body) > > puts "==>" + format_result.call(matches[2]) > > rescue NoMethodError > > puts "==> Expression not understood." > > rescue > > puts "==> Expression not understood. (#{$!.class.inspect}, > >#{$!.inspect})" > > end > > else > > puts "==> Response error: #{resp.code}" > > end > >end > > > > Well, that's, uh, cool, but there's gotta be easier ways to add numbers ;-) > > Phil > >