显示变量的值本身

时间:2018-03-01 02:20:05

标签: ruby quine

我在Ruby中做一个quine,它将在一个新文件中显示自己的代码。我试图像下面那样在新文件中打印变量:

$var = "Some Code%c$var = %c%s%c % [10,34,$var,34,10]%cSome Code" % [10,34,$var,34,10]

$var变量在新文件中为空,这就是我想要的:

Some Text
$var = "Some Code%c$var = %c%s%c % [10,34,$var,34,10]%cSome Code" % [10,34,$var,34,10]
Some Text

当我启动它时,我会在新文件中找到它:

Some Code
$var = "" % [10,$var,10]
Some Code

请帮助。

1 个答案:

答案 0 :(得分:1)

您需要转义位于字符串中的百分号(%%),并将$var赋值表达式括在括号中,以便它可用于以下插值,如下所示:

($var = "Some Code%c($var = %c%s%c) %% [10,34,$var,34,10]%cSome Code") % [10,34,$var,34,10]

这应该导致以下结果:

>> ($var = "Some Code%c($var = %c%s%c) %% [10,34,$var,34,10]%cSome Code") % [10,34,$var,34,10]
=> "Some Code\n($var = \"Some Code%c($var = %c%s%c) %% [10,34,$var,34,10]%cSome Code\") % [10,34,$var,34,10]\nSome Code"