每种编程语言,我知道(Perl,Javascript,PHP,蟒蛇,ASP,准将基本) 采用单一和双引号中界定的字符串.

这造成了目前的情况具有去 伟大的长度 治疗报价是否正确,因为该报价是极为常见的内容串。

为什么不是使用编程语言 其他一些角色界定的字符串, 之一就是不使用在正常的交谈 \,|或{} 例如)所以我们只能得到与我们的生活?

这是真的,或者我可以俯瞰的东西吗?是有一个简单的方法来停止使用行情串在一个现代化编程语言?

印 <<
我知道关于 这里的文件 语法,但是对于轻微的串的操纵它过于复杂的和复杂的格式。
结束;

[新] 你们许多人做了一个好点的重要性,仅仅使用ASCII characters.我已经更新的实例,以反映(的 反斜杠, , 牙套).

有帮助吗?

解决方案

Python有一个额外的字符串类型,使用三层双引号,

"""like this"""

除此之外,Perl的允许你使用任何你想要的分隔符,

q^ like this ^

我认为在大多数情况下,正规的字符串分隔符的使用,因为它们是有意义的。的字符串被包裹在引号。除此之外,大多数开发人员用来当它涉及到的字符串,大大改变字符串都可能是一个艰难的学习曲线的方式使用他们的常识。

其他提示

电流:"打字机"'引用'的标记

有许多很好的理由对于使用引号,我们目前使用:

  • 报价是容易被发现在键盘上 -所以他们很容易类型,以及他们必须容易的,因为串需要的那么频繁。

  • 报价是在ASCII -最编程工具只有处理好ASCII。你可以使用ASCII几乎在任何环境中可以想象的。这是重要的,当你固定程序在一个远程连接在一些远远距离服务器。

  • 引来了在许多版本 -单一报价,双引号,回报价。所以一种语言可以分配不同的含义,对于不同地引述了串。这些不同的报价也可以解决'的报价"内部的"报价'的问题。

  • 行情是自然的 -英文中使用引号,用于标记的文字的段落很久以前的编程语言之后。在语言学报价的使用完全相同的方式作为编程语言。行情是自然的相同方式和自然对加法和减法.

备选案文:"排版"'正确'的报价

从技术上讲,他们都是卓越的。一个很大的优势是,可以容易地之间者区分开启和关闭的报价。但他们是很难的类型和他们是不是在ASCII。(我不得不把它们放入一个标题,使他们可见,在这个计算器字体。)

有希望地在一天当ASCII是什么,只有历史学家关心和键盘已经变成完全不同的东西,(如果我们甚至会有键盘在所有),随之而来的一种编程语言,使用更好的报价...

Python做具有与三双引号“”“有些字符串”“”可替换字符串分隔符。

单引号和双引号在大多数语言中使用,因为这是在大多数语言文字的标准分隔符。

语言(应该)尽可能地做到简单易懂越好,并使用不同的引号的东西来处理字符串引入了不必要的复杂性。

使用引号来定义一组字符作为从封闭文本分开更自然我们,并且因此更容易阅读。此外,“和”是在键盘上,而你提到的其他字符都没有,所以它更容易一些。它可能会使用一个字符,键盘上广泛使用,但我想不出一个赢得“T具有同样的问题。

E:我错过了管字符,它实际上可以是一个可行的选择。除了它目前被广泛用作OR运算符和可读性问题仍然有效。

由于你列出的那些其它字符都不是ASCII。我不知道我们是否已经准备好,或者需要为Unicode编程语言...

编辑:至于为什么不使用{},|或\,以及这些符号都已经在大部分语言的含义。试想一下,C或Perl,以两种不同的含义,将“{”和“}”!

|指或,在一些语言已经连接字符串。你怎么会得到\ n如果\是分隔符?

从根本上说,我真的不明白为什么这是一个问题。为\”真的那么难?我的意思是,在C,你经常要使用\%和\等几个两个字符的字符,所以啊,随便吧。

由于没有人已经创造使用一些其他字符已经变得流行的一种语言。

我想主要是因为改变了角色的需求仅仅是不存在的,大多数程序员都使用标准的报价,看看没有令人信服的理由来改变现状。

比较如下。

print "This is a simple string."
print "This \"is not\" a simple string."

print ¤This is a simple string.¤
print ¤This "is not" a simple string.¤

我一个真的不觉得第二个是任何容易或更具有可读性。

啊,所以你要老式FORTRAN,在那里你会通过计算字符串中的字符数,将它嵌入在H格式,如报价:13HHello, World!。正如有人谁做了与FORTRAN的几件事情在天回当语言的名字是全部大写,引号和逃避他们是一件好事。 (例如,不完全,如果你是关闭由一个在用户手册字符计数完了。)

严重的是,不存在理想的解决方案。这将永远是必要的,在某些时候,有包含你喜欢的任何引号字符的字符串。出于实用的目的,该帖分隔符必须是键盘和方便的,因为他们大量使用。如果字符串包含每个可能的文字的一个例子Perl的q@...@语法将失败。 FORTRAN的霍尔瑞斯常量是雪上加霜。

您说“不必竭尽全力正确对待引号”;但它只是在文本表示。所有的现代语言把字符串作为二进制数据块,因此他们真的不关心的内容。请记住,文本表示只对程序员告诉系统做什么的简单方法。一旦字符串被拘禁,它不会有任何麻烦,管理引号。

一个很好的理由很可能是,如果这是你想改善现有语言的唯一的事情,你没有真正建立一个新的语言。

如果你正在创建一个新的语言,选择正确的字符的字符串的报价大概是这样的方式的方式事情实际实现的待办事项列表了。

您很可能是最好关闭采摘存在于所有普通键盘和终端形式集,所以大部分你建议的人是右出一个分隔符...

在任何情况下,...你获得在你的使用是使语言更难非专业阅读的成本报价次数减少一个引用机制仍然是必要的。

因此,它是不完全清楚,这是一个获胜,然后有习惯的力。

阿达不为字符串使用单引号。那些仅用于字符,并且不具有内部字符串被转义。

我觉得很罕见的双引号字符,我进入到一个计算机程序正常的文本字符串出现。当它,它几乎总是因为我传递该字符串的命令解释器,和需要嵌入另一个字符串在它

我可以想象主要原因没有用于字符串分隔符那些其他字符的是,它们不是在原始的7位ASCII码表。也许这不是一个很好的借口,这些天,但在这个世界上,大多数语言设计者都不敢逆势疯狂蹩脚的C语法,你不会得到很多考生的一个不寻常的字符串分隔符的选择。

Python允许你混合单引号和双引号把引号中的字符串。

print "Please welcome Mr Jim 'Beaner' Wilson."
>>> Please welcome Mr Jim 'Beaner' Wilson.

print 'Please welcome Mr Jim "Beaner" Wilson.'
>>> Please welcome Mr Jim "Beaner" Wilson

您也可以使用前面提到的三重引号。这些还跨多个线延伸以允许您也从具有打印新行保持。

print """Please welcome Mr Jim "Beaner" Wilson."""
>>> Please welcome Mr Jim "Beaner" Wilson

最后,你可以打印字符串相同的方式,所有的人。

print "Please welcome Mr Jim \"Beaner\" Wilson."
>>> Please welcome Mr Jim "Beaner" Wilson
scroll top