空字串:修订间差异
外观
删除的内容 添加的内容
无编辑摘要 |
|||
(未显示11个用户的13个中间版本) | |||
第1行: | 第1行: | ||
{{NoteTA |
|||
⚫ | |||
|G1 = IT |
|||
}} |
|||
⚫ | |||
在[[物件導向程式語言]]中,空字串共非空參照。一個字串型別的空參照並未指向一個字串物件,而對其操作則會導致錯誤。空字串則可以使用字串運算。 |
在[[物件導向程式語言]]中,空字串共非空參照。一個字串型別的空參照並未指向一個字串物件,而對其操作則會導致錯誤。空字串則可以使用字串運算。 |
||
第8行: | 第11行: | ||
*<math>\lambda \, + s = s + \lambda \, = s</math>。在[[串接]]運算之下,空字串是一個在Σ上之[[自由么半群|自由-{么}-半群]]的[[單位元素]]。 |
*<math>\lambda \, + s = s + \lambda \, = s</math>。在[[串接]]運算之下,空字串是一個在Σ上之[[自由么半群|自由-{么}-半群]]的[[單位元素]]。 |
||
*<math>{ \lambda \, }^R = \lambda \,</math>。空字串的'''[[反元素]]'''為空字串。 |
*<math>{ \lambda \, }^R = \lambda \,</math>。空字串的'''[[反元素]]'''為空字串。 |
||
* 空字串位於[[字典順序]]中的最優先。<ref> |
* 空字串位於[[字典順序]]中的最優先。<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}}。 |
[[程式語言]]可能會維持這些特性,但保留特殊實作方式的可能{{Citation needed|date=March 2010}}。 |
||
== 表示方式 == |
== 表示方式 == |
||
空字串通常使用和其它一般字串相同的方式來表示。在使用'''結束字符'''的語言 |
空字串通常使用和其它一般字串相同的方式來表示。在使用'''結束字符'''的語言(如C字串或純文字的一行)中,則單統地將結束字符放在第一個位置。 |
||
{| class="wikitable" |
{| class="wikitable" |
||
|- |
|- |
||
第20行: | 第23行: | ||
|- |
|- |
||
| [[C語言]], [[C++]] |
| [[C語言]], [[C++]] |
||
| < |
| <syntaxhighlight lang="c" inline>""</syntaxhighlight><br /><syntaxhighlight lang="c" inline>{'\0'}</syntaxhighlight> |
||
|- |
|- |
||
| [[C++]] |
| [[C++]] |
||
| < |
| <syntaxhighlight lang="c" inline>std::string()</syntaxhighlight> |
||
|- |
|- |
||
| [[Objective-C]] |
| [[Objective-C]] |
||
| < |
| <syntaxhighlight lang="objc" inline>@""</syntaxhighlight> |
||
|- |
|- |
||
| [[Perl]] |
| [[Perl]] |
||
| < |
| <syntaxhighlight lang="perl" inline>""</syntaxhighlight><br /><syntaxhighlight lang="perl" inline>''</syntaxhighlight><br /><syntaxhighlight lang="perl" inline>qw()</syntaxhighlight> |
||
|- |
|- |
||
| [[Python]] |
| [[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♯|C#]] |
||
| < |
| <syntaxhighlight lang="csharp" inline>""</syntaxhighlight><br /><syntaxhighlight lang="csharp" inline>string.Empty</syntaxhighlight> |
||
|- |
|- |
||
| [[VB.NET|Visual Basic .NET]] |
| [[VB.NET|Visual Basic .NET]] |
||
| < |
| <syntaxhighlight lang="vb" inline>""</syntaxhighlight><br /><syntaxhighlight lang="vb" inline>String.Empty</syntaxhighlight> |
||
|- |
|- |
||
| [[PHP]] |
| [[PHP]] |
||
| < |
| <syntaxhighlight lang="php" inline>""</syntaxhighlight><br /><syntaxhighlight lang="php" inline>''</syntaxhighlight> |
||
|- |
|- |
||
| [[Java]] |
| [[Java]] |
||
| < |
| <syntaxhighlight lang="java" inline>""</syntaxhighlight> |
||
|- |
|- |
||
| [[Javascript]] |
| [[Javascript]] |
||
| < |
| <syntaxhighlight lang="javascript" inline>""</syntaxhighlight><br /><syntaxhighlight lang="javascript" inline>''</syntaxhighlight> |
||
|- |
|- |
||
| [[Haskell]] |
| [[Haskell]] |
||
| < |
| <syntaxhighlight lang="text" inline>""</syntaxhighlight> |
||
|- |
|- |
||
| [[OCaml]] |
| [[OCaml]] |
||
| < |
| <syntaxhighlight lang="ocaml" inline>""</syntaxhighlight><br /><syntaxhighlight lang="ocaml" inline>String.make 0 '-'</syntaxhighlight> |
||
|- |
|- |
||
| [[Delphi]] |
| [[Delphi]] |
||
| < |
| <syntaxhighlight lang="delphi" inline>''</syntaxhighlight> |
||
|- |
|- |
||
|} |
|} |
||
第63行: | 第66行: | ||
<references/> |
<references/> |
||
{{logic-stub}} |
|||
{{Nulls|type=程式語言}} |
|||
[[Category:形式语言|K]] |
[[Category:形式语言|K]] |
||
[[Category:零]] |
[[Category:零]] |
||
[[Category:字符串]] |
|||
[[bs:Prazni niz]] |
|||
[[de:Leeres Wort]] |
|||
[[en:Empty string]] |
|||
[[es:Cadena vacía]] |
|||
[[he:מחרוזת ריקה (תכנות)]] |
|||
[[hr:Prazni niz znakova]] |
|||
[[ja:空文字列]] |
|||
[[nl:Lege string]] |
|||
[[pt:Cadeia vazia]] |
|||
[[ru:Пустая строка]] |
|||
[[simple:Empty string]] |
|||
[[th:สายอักขระว่าง]] |
2021年8月11日 (三) 10:32的最新版本
在計算機科學或形式語言中,空字串是指在字母表Σ上,其長度為 0 的那唯一字串,以ε或λ來標記。
在物件導向程式語言中,空字串共非空參照。一個字串型別的空參照並未指向一個字串物件,而對其操作則會導致錯誤。空字串則可以使用字串運算。
特性
[编辑]在形式語言中,空字串有以下特性:
程式語言可能會維持這些特性,但保留特殊實作方式的可能[來源請求]。
表示方式
[编辑]空字串通常使用和其它一般字串相同的方式來表示。在使用結束字符的語言(如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 | ''
|
參考
[编辑]- ^ CSE1002 Lecture Notes - Lexicographic (PDF). [2010-04-22]. (原始内容存档 (PDF)于2009-12-29).