Question

Just finished reading this blog post: http://www.skorks.com/2010/03/an-interview-question-that-prints-out-its-own-source-code-in-ruby/

In it, the author argues the case for using a quine as an interview question. I'm not sure I agree but thats not what this question is about.

He goes on to construct a quine in Ruby and refactor it to make it shorter. He then challenges the reader to try to make it even shorter.

I played around with it for a while and came up with the following:

s="s=;puts s[0,2]+34.chr+s+34.chr+s[2,36]";puts s[0,2]+34.chr+s+34.chr+s[2,36]

This is the first time I have ever attempted a quine and I can't figure out how to make it any shorter.

What is the shortest Ruby quine you can come up with? Please post an explanation if your implementation requires it.

Was it helpful?

Solution

Unfortunately RubyGarden doesn't exist anymore. Here are a couple of links to make up for it (the one Kevin posted is not the shortest one anymore by the way):

The first quines in Ruby

s="s=%c%s%c; printf s,34,s,34,10%c"; printf s,34,s,34,10

ruby quine slightly smaller than python quine

_="_=%p;puts _%%_";puts _%_

shortest nozero [sic!] ruby quine

puts <<2*2,2
puts <<2*2,2
2

OTHER TIPS

Even shorter:

$><<IO.read($0)

15 characters, not including the newline

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top