Shortest Ruby Quine [closed]

北城余情 提交于 2019-11-27 13:48:58

问题


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.


回答1:


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



回答2:


Even shorter:

$><<IO.read($0)

15 characters, not including the newline



来源:https://stackoverflow.com/questions/2474861/shortest-ruby-quine

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!