问题标签 [quine]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - 除了 Wikipedia 页面上列出的那个之外,还有其他 Java quines 吗?
我知道有一个程序代码可以打印自己,Quine code
如下所示
是否有另一个打印自身的 Java 程序代码?
haskell - Haskell Quine:“ap”Monad
在 Haskell 中使用“ap”monad 的正确方法是什么?我想做类似的事情:
但我收到错误“不在范围内:'ap'。”
使用“import Control.Monad”什么都不做。我试过给它
然后我得到“'ap'的类型签名缺少伴随的绑定”
c++ - C++ 在运行时添加新代码
我正在使用 C++(在 xcode 和 code::blocks 中),我不太了解。我想在运行时做一些可编译的东西。
例如:
它应该编译 prog 的内容。我读了一些关于 quines 的文章,但对我没有帮助。
perl - perl quine 的解释
我最近发现了这个quine
我就是无法理解它。我在 google/SO 上找不到这个特定的解释,所以我希望有人可以向我解释这件事是如何工作的 :-)
java - 加号运算符 - 如何强制字符串连接?
在用 Java 编写 Quine(即自我复制程序)时,我尝试使用制表符缩进输出行:
这不起作用,因为“tab + tab + ...”中的加号运算符会添加制表符值而不是生成字符串 (61 = 9 + 9 + 9 + 34):
在开头放置一个空字符串可以完成这项工作:
但是,我不能在 Quine 设置中使用纯引号,因为我需要转义它们以输出程序文本本身。
我想知道是否可以在不明确使用引号或其他 Java 类的情况下强制将加号运算符解释为字符串连接?
python - 试图制造奎因;不输出引号
使用python 2.7。
(在顶部进行编辑,以防您错过底部的某些内容:我一直在使用 exec() 执行代码,这使其成为源代码的一部分。有关我使用它的更多信息在这篇文章的底部)
最近,我对quines产生了兴趣。到目前为止,我最接近 quine 的尝试是:
不幸的是,这打印了这个
而不是这个
这是一个主要问题,因为执行
会报错,和原源代码不一样。
我一直在努力把那些引号放在那里。我尝试的一种方法是使用转义符来做到这一点:
并打印:
该代码将再次打印
这和错误是不一样的。有人对我可以进行的修改有任何想法吗?
而且,当我写这篇文章时,我意识到了另外一些事情。我一直在用 exec() 执行代码,而这个 quine 只能用 exec() 运行,这使得 exec() 成为代码的一部分,所以也需要添加。因此,现在添加了 exec() 的另一次尝试:
但这会产生一个可怕的循环并且仍然缺少引号
所以,现在我需要让 exec() 没有丑陋的循环,并在正确的位置获得引号。
所以现在,这让我再次重复自己:有没有人对我可以进行的修改有任何想法?
c - 这个自输出 C 程序是如何工作的?
这是输出自身的最小代码。但无法理解这是如何工作的。有人可以解释吗?
python - 用于重构类源的python类的str方法
我怎样才能为一个类配备一个__str__
打印类本身的源的方法,不包括方法定义?
我排除了方法定义,因为我的用例是动态生成固定装置(使用fixtures
包;这与 django 固定装置不同),并且我想将这些固定装置存储在文件中。对于那些不知道的人,该fixtures
包使用 python 类来表示夹具数据。
这似乎是一种甚至可以内置到固定装置中的东西,因为在我看来,这将是一个比较常见的用例。
ruby - 您如何正式证明特定的quine是其语言中最短的?
我想出了一个 Ruby quine:
并声称它是最短的,但最初由“Robin Houston”为 Perl 编写,并由“Sabby and Tabby”移植到 Ruby:
结果变短了。我想知道是否有人可以证明较短的非零 quine 实际上在 Ruby 中是不可能的。你会怎么做?零长度脚本在 Ruby 中每个定义都是一个 quine,但这是一个经常被丢弃的微不足道的极端情况。像读取自己的输入一样print IO.read($0)
的脚本不是 quines,所以它们不算数。
仅仅因为没有发布更短的内容并不意味着它是最短的。那么如何(像科学一样)证明特定的quine是最短的呢?