跳转到内容

空字串:修订间差异

维基百科,自由的百科全书
删除的内容 添加的内容
无编辑摘要
 
(未显示20个用户的23个中间版本)
第1行: 第1行:
{{NoteTA
'''空字元串'''是唯一在[[字母表]]Σ上,沒有[[字元]]的[[字元串]],標記為''ε''或''λ''。空字元串的長度為0。
|G1 = IT
}}
在[[計算機科學]]或[[形式語言]]中,'''空字串'''是指在[[字母表 (计算机科学)|字母表]]Σ上,其長度為 0 的那唯一字串,以''ε''或''λ''來標記。


在[[物件導向程式語言]]中,空字串共非空參照。一個字串型別的空參照並未指向一個字串物件,而對其操作則會導致錯誤。空字串則可以使用字串運算。
在[[串接]]之下,空字串是一在Σ上之[[自由么半群|自由-{么}-半群]]的[[單位元]]。亦即,對任一字元串''s''而言,''s''ε = ε''s'' = s


==標記==
== 特性 ==
許多的[[程式語言]]內,空字的標記為兩個[[引號|雙引號]]''""''。
式語言,空字串有以下特性
*<math>| \lambda \, | = 0</math>'''。[[字串|字串長度]]'''為 0 。
*<math>\lambda \, + s = s + \lambda \, = s</math>。在[[串接]]運算之下,空字串是一在Σ上之[[自由么半群|自由-{么}-半群]]的[[單位元]]。
*<math>{ \lambda \, }^R = \lambda \,</math>。空字串的'''[[反元素]]'''為空字串。
* 空字串位於[[字典順序]]中的最優先。<ref>{{Cite web |url=http://cs.fit.edu/~ryan/cse1002/lectures/lexicographic.pdf |title=CSE1002 Lecture Notes - Lexicographic |accessdate=2010-04-22 |archive-date=2009-12-29 |archive-url=https://web.archive.org/web/20091229212044/http://cs.fit.edu/~ryan/cse1002/lectures/lexicographic.pdf |dead-url=no }}</ref>


[[程式語言]]可能會維持這些特性,但保留特殊實作方式的可能{{Citation needed|date=March 2010}}。
==實作==
在[[C語言]]裡,空字元串以在第零位為[[空字符]]的字元陣列表示。


== 表示方式 ==
{{logic-stub}}
空字串通常使用和其它一般字串相同的方式來表示。在使用'''結束字符'''的語言(如C字串或純文字的一行)中,則單統地將結束字符放在第一個位置。
[[Category:形式语言]]
{| class="wikitable"
|-
! 程式語言
! λ 表示法
|-
| [[C語言]], [[C++]]
| <syntaxhighlight lang="c" inline>""</syntaxhighlight><br /><syntaxhighlight lang="c" inline>{'\0'}</syntaxhighlight>
|-
| [[C++]]
| <syntaxhighlight lang="c" inline>std::string()</syntaxhighlight>
|-
| [[Objective-C]]
| <syntaxhighlight lang="objc" inline>@""</syntaxhighlight>
|-
| [[Perl]]
| <syntaxhighlight lang="perl" inline>""</syntaxhighlight><br /><syntaxhighlight lang="perl" inline>''</syntaxhighlight><br /><syntaxhighlight lang="perl" inline>qw()</syntaxhighlight>
|-
| [[Python]]
| <syntaxhighlight lang="python" inline>""</syntaxhighlight><br /><syntaxhighlight lang="python" inline>''</syntaxhighlight><br /><syntaxhighlight lang="python" inline>""""""</syntaxhighlight><br /><syntaxhighlight lang="python" inline>str()</syntaxhighlight>
|-
| [[C♯|C#]]
| <syntaxhighlight lang="csharp" inline>""</syntaxhighlight><br /><syntaxhighlight lang="csharp" inline>string.Empty</syntaxhighlight>
|-
| [[VB.NET|Visual Basic .NET]]
| <syntaxhighlight lang="vb" inline>""</syntaxhighlight><br /><syntaxhighlight lang="vb" inline>String.Empty</syntaxhighlight>
|-
| [[PHP]]
| <syntaxhighlight lang="php" inline>""</syntaxhighlight><br /><syntaxhighlight lang="php" inline>''</syntaxhighlight>
|-
| [[Java]]
| <syntaxhighlight lang="java" inline>""</syntaxhighlight>
|-
| [[Javascript]]
| <syntaxhighlight lang="javascript" inline>""</syntaxhighlight><br /><syntaxhighlight lang="javascript" inline>''</syntaxhighlight>
|-
| [[Haskell]]
| <syntaxhighlight lang="text" inline>""</syntaxhighlight>
|-
| [[OCaml]]
| <syntaxhighlight lang="ocaml" inline>""</syntaxhighlight><br /><syntaxhighlight lang="ocaml" inline>String.make 0 '-'</syntaxhighlight>
|-
| [[Delphi]]
| <syntaxhighlight lang="delphi" inline>''</syntaxhighlight>
|-
|}


== 參考 ==
[[bs:Prazni niz]]
<references/>
[[de:Leeres Wort]]

[[en:Empty string]]

[[hr:Prazni niz znakova]]
{{Nulls|type=程式語言}}
[[ja:空文字列]]

[[simple:Empty string]]
[[Category:形式语言|K]]
[[Category:零]]
[[Category:字符串]]

2021年8月11日 (三) 10:32的最新版本

計算機科學形式語言中,空字串是指在字母表Σ上,其長度為 0 的那唯一字串,以ελ來標記。

物件導向程式語言中,空字串共非空參照。一個字串型別的空參照並未指向一個字串物件,而對其操作則會導致錯誤。空字串則可以使用字串運算。

特性

[编辑]

在形式語言中,空字串有以下特性:

  • 字串長度為 0 。
  • 。在串接運算之下,空字串是一個在Σ上之自由么半群單位元素
  • 。空字串的反元素為空字串。
  • 空字串位於字典順序中的最優先。[1]

程式語言可能會維持這些特性,但保留特殊實作方式的可能[來源請求]

表示方式

[编辑]

空字串通常使用和其它一般字串相同的方式來表示。在使用結束字符的語言(如C字串或純文字的一行)中,則單統地將結束字符放在第一個位置。

程式語言 λ 表示法
C語言, C++ ""
{'\0'}
C++ std::string()
Objective-C @""
Perl ""
''
qw()
Python ""
''
""""""
str()
C# ""
string.Empty
Visual Basic .NET ""
String.Empty
PHP ""
''
Java ""
Javascript ""
''
Haskell ""
OCaml ""
String.make 0 '-'
Delphi ''

參考

[编辑]
  1. ^ CSE1002 Lecture Notes - Lexicographic (PDF). [2010-04-22]. (原始内容存档 (PDF)于2009-12-29).