标签: quine

缺少的quines:Visual Basic(用于应用程序)

今天我在维基百科上浏览了一些随机的极客文章,以获取我日常无用的知识.我偶然发现了quines,这是打印自己的源代码的程序.我发现这是让我的大脑受伤的好方法,所以我开始在VBA中使用quine.我有两个很好的理由:

  1. 我找不到用VBA写的quine
  2. VBA鼓励你编写尴尬的代码,让你的大脑受到伤害

这是我的杰作:

Sub q()
c = "Sub q();c = #;Debug.Print Replace(Replace(c, Chr(59), vbNewLine), Chr(35), Chr(34) & c & Chr(34));End Sub"
Debug.Print Replace(Replace(c, Chr(59), vbNewLine), Chr(35), Chr(34) & c & Chr(34))
End Sub
Run Code Online (Sandbox Code Playgroud)

我的挑战:你能让它变得更短(最好是更尴尬)吗?

vba quine

7
推荐指数
2
解决办法
478
查看次数

C#Quine问题

我试图理解这段自我复制代码是如何工作的(在这里找到),但问题是我不能让它按原样运行:

class c {
    static void Main(){

        string s = "class c{{static void Main(){{string s={0}{10};System.Console.Write(s,(char)34,s);}}}}";

        System.Console.Write(s,(char)34,s); //<<-- exception on this line

    }
}
Run Code Online (Sandbox Code Playgroud)

它在writeline上抛出异常:Index(从零开始)必须大于或等于零且小于参数列表的大小.

有人可以提供帮助 - 尤其是格式化选项{0} {10}吗?

我得到了这样的工作(见下文),但它比原来更长 - 我很好奇原作如何在第一位起作用:

class c {
    static void Main(){

        string s = "class c{{static void Main(){{string s={0}{1}{2};System.Console.Write(s,(char)34,s,(char)34);}}}}";

        System.Console.Write(s,(char)34,s,(char)34);
    }
}
Run Code Online (Sandbox Code Playgroud)

c# quine

6
推荐指数
3
解决办法
3745
查看次数

奎因是什么意思?

所以我刚刚在维基百科上看到了Quine一词,但无法弄清楚它到底是什么意思。我对此非常困惑。它有任何实际用途吗?

language-agnostic definition quine self-reference

6
推荐指数
2
解决办法
505
查看次数

了解红宝石quine

我在维基百科上发现了这个代码块,作为Ruby中的一个quine(打印自己的程序)的例子.

puts <<2*2,2
puts <<2*2,2
2
Run Code Online (Sandbox Code Playgroud)

但是,我不知道它是如何工作的.特别是,我没有得到的是,当我删除最后一行时,我收到此错误:

语法错误,意外$ end,期待tSTRING_CONTENT或tSTRING_DBEG或tSTRING_DVAR或tSTRING_END

那些线会发生什么?

ruby heredoc quine

6
推荐指数
1
解决办法
1061
查看次数

Haskell Quine:"ap"Monad

在Haskell中使用"ap"monad的正确方法是什么?我想做类似的事情:

main = (putStr . ap (++) show) "main = (putStr . ap (++) show) "
Run Code Online (Sandbox Code Playgroud)

但我收到错误"不在范围内:'ap'."

使用"import Control.Monad"什么都不做.我试过给它

"ap :: Monad m => m (a -> b) -> m a -> m b" 
Run Code Online (Sandbox Code Playgroud)

然后我得到"'ap'的类型签名缺少附带的绑定"

monads haskell quine

6
推荐指数
1
解决办法
653
查看次数

有关构建更高阶Quine程序的想法吗?

这是一个特殊的Haskell程序,它输出一个Python程序,输出一个输出原始Haskell程序的Ruby程序(来自http://blog.sigfpe.com/2008/02/third-order-quine-in-three-languages. HTML)

更准确地说,输出是这个Haskell程序

q a b c=putStrLn $ b ++ [toEnum 10,'q','('] ++ show b ++ [','] ++ show c ++ [','] ++ show a ++ [')']
main=q "q a b c=putStrLn $ b ++ [toEnum 10,'q','('] ++ show b ++ [','] ++ show c ++ [','] ++ show a ++ [')']" "def q(a,b,c):print b+chr(10)+'q('+repr(b)+','+repr(c)+','+repr(a)+')'" "def e(x) return 34.chr+x+34.chr end;def q(a,b,c) print b+10.chr+'main=q '+e(b)+' '+e(c)+' '+e(a)+' '+10.chr end"
Run Code Online (Sandbox Code Playgroud)

是一个Python程序,

$ runhaskell test.hs
def q(a,b,c):print b+chr(10)+'q('+repr(b)+','+repr(c)+','+repr(a)+')'
q("def q(a,b,c):print b+chr(10)+'q('+repr(b)+','+repr(c)+','+repr(a)+')'","def …
Run Code Online (Sandbox Code Playgroud)

algorithm quine

5
推荐指数
1
解决办法
411
查看次数

我的编程语言中的quine怎么样?

我已经创建了一个图灵完整的编程语言(已经过验证),因此必须可以为它编写一个quine,对吧?

但是我所知道的所有quines都将它们的源代码存储在一个字符串中,然后使用chr和之类的东西替换它中的特殊字符ord.

我的语言只有以下内容

  • 基本的算术
  • Int和字符串类型
  • 变量
  • ==运算符
  • 有条件的

我不知道如何写一个quine,因为我没有真正的字符串操作可用,我只能输出常量字符串.然而,它是100%图灵完成.

quine turing-complete

5
推荐指数
1
解决办法
740
查看次数

是否可以编写一个打印语句本身的Java printf语句?

是否有可能有一个Java printf语句,其输出是语句本身?

一些片段来说明:

// attempt #1
public class Main {
public static void main(String[] args) {

System.out.printf("something");

}
}
Run Code Online (Sandbox Code Playgroud)

这打印something.

因此,尝试#1的输出并不完全是printf尝试#1中的语句.我们可以尝试这样的事情:

// attempt #2
public class Main {
public static void main(String[] args) {

System.out.printf("System.out.printf(\"something\");");

}
}
Run Code Online (Sandbox Code Playgroud)

现在输出是 System.out.printf("something");

所以现在尝试#2的输出与输出#1中的语句匹配,但是我们回到了之前的问题,因为我们需要尝试#2的输出来匹配尝试#2中的语句.

那么可以写一个printf打印自己的单行语句吗?

java printf quine

5
推荐指数
1
解决办法
1312
查看次数

这个极好的quine如何运作?

另一个SO问题提到Yusuke Endoh的奇妙quine.quine是一个计算机程序,它生成一个自己的源代码副本作为唯一的输出; 这个是扭曲的.必看.

但我无法弄清楚它是如何工作的.有什么指针吗?

ruby quine

5
推荐指数
1
解决办法
1210
查看次数

C++模板Quine

众所周知,C++模板是完整的.因此,应该可以输出在编译时基本上呈现的quine.有没有人知道这样的quine是否已经写好或者我找到了哪一个.

c++ templates quine

4
推荐指数
1
解决办法
735
查看次数