私はRubyクインを思いついた:
eval s=%q(puts"eval s=%q(#{s})")
そしてそれが最短であると主張しましたが、元々は "Robin Houston" によって Perl 用に書かれ、"Sabby and Tabby" によって Ruby に移植されたクワインです:
puts <<2*2,2
puts <<2*2,2
2
短いことが判明した。ゼロ以外のより短いクワインが Ruby で実際に不可能であることを証明できるかどうか疑問に思います。どうやってそれをしますか?長さ 0 のスクリプトは、Ruby の定義によるとクインですが、これはしばしば無視される些細なケースです。独自の入力を読み取るスクリプトprint IO.read($0)
はクインではないため、カウントされません。
より短いものが投稿されていないからといって、それが最も短いわけではありません。では、特定のクワインが最短であることを (科学的に)どのように証明できるのでしょうか?