显示变量的值本身

问题描述 投票:-1回答:1

我在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

请帮忙。

ruby quine
1个回答
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"
© www.soinside.com 2019 - 2024. All rights reserved.