标签: quine

quine(自我生成)SQL查询

是一篇非常有趣的wiki文章,关于打印自己的源代码而无需访问物理源文件(在文件系统中)的程序.这些文章中的例子包括C和Scheme quine程序(是的,看来它们就是这样称呼的).我记得有人问我很久以前(大约5年)是否可以编写一个"返回自己"的SQL查询.我当时很少考虑过这个问题(说实话,我根本没有考虑过它).但在阅读完这篇文章后,我回想起那件事.现在我想说的是,那个问这个问题的人不是100%可信,因为他几乎不可能知道他在说什么.但也许有可能吗?那么,有没有人知道是否存在quine SQL查询,无论"返回自己" 可能意味着在这种情况下.谢谢.

sql quine

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

打印自己的源代码的Java应用程序

我有一个小测验,我自己无法解决.我想构建一个程序,用java打印自己的源代码.谁知道怎么做?像这个例子:

public class SourcePrint {

    private static final long serialVersionUID = 1L;

    public void test(){
        System.out.println("Hi I'm test");

    }
    public static void main(String[] args) {
        new SourcePrint().test();
    }

}
Run Code Online (Sandbox Code Playgroud)

当我们运行它时,输出将是这样的:

public class SourcePrint {

    private static final long serialVersionUID = 1L;

    public void test(){
        System.out.println("Hi I'm test");

    }
    public static void main(String[] args) {
        new SourcePrint().test();
    }

}
Run Code Online (Sandbox Code Playgroud)

我不知道该怎么做.有人知道解决方案或至少提示吗?这不是反编译器,测验制造商告诉我暗示是"静态".

java quine

4
推荐指数
2
解决办法
8421
查看次数

用日语打印另一个C程序的C程序

为比赛编写了一个C程序,该程序在ASCII艺术中被格式化为日文字符.当编译并运行时,它打印出另一个用不同的日文字符格式化的程序,然后是另一个,然后最后再打印出第一个.

我正在寻找代码,但无法在互联网上找到它.我不记得比赛是什么,也不记得该计划的名称是什么.

谢谢.

c quine

3
推荐指数
1
解决办法
797
查看次数

这是一个有效的quine吗?

def start(fileName):
  fileReader = open(fileName)
  for row in fileReader:
    print row,

if __name__ == "__main__":
  import sys
  if len(sys.argv) <= 1:
    print "usage quine /path/to/file"
    sys.exit(-1)
  fileName = sys.argv[0]
  start(fileName)
Run Code Online (Sandbox Code Playgroud)

python quine.py foo

python quine

3
推荐指数
1
解决办法
704
查看次数

调用自身的宏打印自己?

以下程序看起来像一个调用自身的C宏.

#define q(k)int puts();int main(){puts(#k"\nq("#k")");}
q(#define q(k)int puts();int main(){puts(#k"\nq("#k")");})
Run Code Online (Sandbox Code Playgroud)

它编译并运行良好.它打印出来.

这段代码真的是C吗?也就是说,它是否依赖于标准C之外的任何东西才能正常工作?

@devnull指出这个问题有一个类似的程序:

#define q(k)main(){return!puts(#k"\nq("#k")");}
q(#define q(k)main(){return!puts(#k"\nq("#k")");})
Run Code Online (Sandbox Code Playgroud)

该程序是否依赖标准C之外的任何东西才能正常工作?

c quine language-lawyer

3
推荐指数
1
解决办法
542
查看次数

perl quine的解释

我最近发现了这个quine

$a='$a=%c%s%c;printf($a,39,$a,39,10);%c';printf($a,39,$a,39,10);
Run Code Online (Sandbox Code Playgroud)

而我无法理解它.我在google/SO上找不到这个特定的解释,所以我希望有人可以向我解释这个东西是如何工作的:-)

perl quine

3
推荐指数
1
解决办法
717
查看次数

最短的非空 bash quine

最短的bashquine 是空字符串:

$ bash -c ''
$ 
Run Code Online (Sandbox Code Playgroud)

bash生成自己的源代码作为输出的最短非空脚本是什么?

bash quine

2
推荐指数
1
解决办法
1416
查看次数

为什么LET在我的quine中不能和EVAL一起玩?

我试图写一个Common Lisp quine.我认为最简单的选择之一如下:

(let ((program '`(let ((program ',program )
                   (print (eval program)))))
  (print (eval program))))
Run Code Online (Sandbox Code Playgroud)

这不起作用,SBCL和CLISP都抱怨PROGRAM没有约束.但是,我确实发现使用DEFPARAMETER与LET不同,确实有效:

(progn
  (defparameter program
                '`(progn
                    (defparameter program
                                  ',program)
                    (print (eval program))))
  (print (eval program)))
Run Code Online (Sandbox Code Playgroud)

对于第二个例子,打印的代码和编写的代码之间的唯一区别是空格和大小写,我可以轻松修复.但是,我仍然不明白为什么我的第一次尝试不起作用.正如我所看到的,唯一的区别是变量的范围,但它似乎无关紧要,因为我正在评估包含它的范围内的程序.

lisp eval common-lisp quine

2
推荐指数
1
解决办法
55
查看次数

自毁函数

我读过一些帖子,其中 Hadley 开了一个关于自毁函数的笑话。我认为这实现起来会相对简单,但事实证明并非如此。

这是尝试编写一个名为self_deletequine的函数,并尝试在打印其主体后自毁。这个想法是在其中搜索函数的名称.GlobalEnv并将其删除,但这不起作用。我想了解为什么会这样。

self_delete<- function(){
   print(body(self_delete))
   rm(list=lsf.str(pattern="self_delete"))
 }
Run Code Online (Sandbox Code Playgroud)

调用上面的内容会按预期打印以下内容,但不会从 中删除自己.Globalenv,我错过了什么?我确实尝试过rmls也没有运气

 self_delete()
{
    print(body(self_delete))
    rm(list = lsf.str(pattern = "self_delete"))
}
Run Code Online (Sandbox Code Playgroud)

r function quine

2
推荐指数
1
解决办法
56
查看次数

以下是如何工作的?

根据维基百科:

quine是一个非空的计算机程序,它不接受任何输入并生成自己的源代码的副本作为其唯一的输出

我看到了这段perl代码,但我无法弄清楚它是如何工作的.

将以下行保存在文件中/tmp/p并将文件运行为perl /tmp/p:

Illegal division by zero at /tmp/p line 1.
Run Code Online (Sandbox Code Playgroud)

perl/tmp/p的输出是:

Illegal division by zero at /tmp/p line 1.

代码是如何工作的?

perl quine

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

标签 统计

quine ×10

c ×2

perl ×2

bash ×1

common-lisp ×1

eval ×1

function ×1

java ×1

language-lawyer ×1

lisp ×1

python ×1

r ×1

sql ×1