【问题标题】:Is there any language that allows spaces in its variable names [closed]是否有任何语言允许其变量名中有空格[关闭]
【发布时间】:2011-02-28 11:06:14
【问题描述】:

是否存在(或曾经存在)任何允许在其变量名中包含空格的非平凡语言?

我知道语言 Whitespace,但我对一种实际上用于演示之外的其他用途的语言感兴趣。

我纯粹出于好奇而问这个问题。

【问题讨论】:

  • 奇怪的问题......好吧 PHP 允许它,以一种模糊的方式 ` $foobar = "bar foo"; ${$foobar} = "富吧"; var_dump(get_defined_vars(${$foobar}));`
  • Windows set 命令考虑变量名中= 之前的空格。所以set var = 将创建一个名为%var % 的变量,但set var= 将创建一个名为%var% 的变量

标签: whitespace esoteric-languages


【解决方案1】:

在某种程度上,是的。几种语言的变量名实际上只是高级对象的键。 Coldfusion 和 Javascript 都浮现在脑海中。在Javascript中,你可以写foo=bar,但你真正说的是:

window['foo'] = bar;

你也可以轻松写

window['i haz a name'] = bar;

Coldfusion 中的各种作用域也可以被视为(dict|hash|associative array)或名称。

当然,一旦创建了带有空格的名称,不使用哈希查找语法就很难访问。

【讨论】:

  • 谢谢 kojiro,我猜这是一个 SQL 最接近任何语言的语言,你明白了,因为你是第一个。
【解决方案2】:

TSQL 将允许您在表名和列名中使用空格,只要您在方括号之间使用空格[ ]

http://www.sqlservercentral.com/blogs/philfactor/archive/2009/08/14/evil-code.aspxhttp://www.sqlservercentral.com/blogs/philfactor/archive/2009/08/14/evil-code.aspx 上有一篇关于 sql 将让你侥幸逃脱的精彩文章

【讨论】:

    猜你喜欢
    • 2014-12-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-04
    • 2021-06-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多