2011-01-18 6 views
0

最近、私はQuineと呼ばれるものについて聞いた。しかし、私の定義は少し不明です。Ruby:ソースコード

__FILE__を使わずに独自のRubyファイルのソースコードを印刷できると思いますか?それは可能ですか?私はあなたのアイデアに非常に興味があります。私はそれをテストしたいと思います。 Dunno、以下のコードのソースを入手してください:

class MyClass 
    def initialize 
    print "You cannot read me!!" 
    end 
end 

このクラス全体を印刷できますか?

+0

ルビークインズは通常、Putsを呼び出すことを伴います。この質問をチェックしてください:http://stackoverflow.com/questions/2474861/shortest-ruby-quine – Nerian

答えて

1

Quineは、独自のソースコードを唯一の機能として出力するプログラムです。はい、ソースコードファイルを読み取らずにこれを行うことができます。本当の挑戦、そして楽しみは、できるだけ短いQuineを書くことです。

上記のコードはQuineではありません。なぜなら、独自のコードを出力するだけではなく、独自のソースコードを出力することができないからです。

は、このスレッドをチェックアウト:(少なくともそれは私には見える)技術が一般的にあることを達成するために使用されるので、
Shortest Ruby Quine

+0

まあ、私はQuineが誤って言った。私は最短のクワインを可能にすることについては気にしない。私が望むのは、必要なもののサイズに関係なく、ソースコードを印刷する方法です。 – Voldemort

+0

ああ、私はそれについて疑問に思ったが、あなたは特にクインを言った。 Ruby 1.9を使用している場合、現在のところ、動的に生成されたコードのソースコードを生成するネイティブサポートがありません**しかし、解決策があります:Sourcifyはprocsのソースコードを生成します(lambdaは1.9でプロクセスするようになりました)。 – Kludge

-2

そのようなものは、「Quines」と呼ばれるが、「Gödels」または「Goedels」すべきではありません効果は、クーデンスの議論の前に来た最初の不完全性定理(クルト・ゲデルの収集作品1、p.175参照)のゲデルの証拠に使われている。