Literał pusty: Różnice pomiędzy wersjami

Z Wikipedii, wolnej encyklopedii
[wersja przejrzana][wersja przejrzana]
Usunięta treść Dodana treść
m poprawa linków
Paweł Ziemian BOT (dyskusja | edycje)
m Zamieniam przestarzały tag 'source' na 'syntaxhighlight'
Linia 12: Linia 12:
|-
|-
| [[C (język programowania)|C]]<ref name="c"/><ref name="c-kr"/><ref name="tc-jb"/><ref name="cpp-jb"/>
| [[C (język programowania)|C]]<ref name="c"/><ref name="c-kr"/><ref name="tc-jb"/><ref name="cpp-jb"/>
| <source lang="c" inline>NULL</source>
| <syntaxhighlight lang="c" inline>NULL</syntaxhighlight>
| stała [[preprocesor]]a
| stała [[preprocesor]]a
|-
|-
| [[C++]]
| [[C++]]
| <source lang="cpp" inline>nullptr</source>
| <syntaxhighlight lang="cpp" inline>nullptr</syntaxhighlight>
| [[Słowo kluczowe (informatyka)|słowo kluczowe]]
| [[Słowo kluczowe (informatyka)|słowo kluczowe]]
|-
|-
| [[Clipper]]<ref name="clipper"/>, [[Modula-2]]<ref name="modula2"/>
| [[Clipper]]<ref name="clipper"/>, [[Modula-2]]<ref name="modula2"/>
| <source lang="clipper" inline>NIL</source>
| <syntaxhighlight lang="clipper" inline>NIL</syntaxhighlight>
| literał
| literał
|-
|-
| [[Common Lisp]]
| [[Common Lisp]]
| <source lang="lisp" inline>NIL</source>
| <syntaxhighlight lang="lisp" inline>NIL</syntaxhighlight>
| symbol
| symbol
|-
|-
Linia 32: Linia 32:
|-
|-
| [[JavaScript]], [[Nemerle]]
| [[JavaScript]], [[Nemerle]]
| <source lang="js" inline>null</source>
| <syntaxhighlight lang="js" inline>null</syntaxhighlight>
| słowo zastrzeżone
| słowo zastrzeżone
|-
|-
| [[Pascal (język programowania)|Pascal]]<ref name="pascal"/><ref name="bp"/>
| [[Pascal (język programowania)|Pascal]]<ref name="pascal"/><ref name="bp"/>
| <source lang="pascal" inline>nil</source>
| <syntaxhighlight lang="pascal" inline>nil</syntaxhighlight>
| słowo kluczowe
| słowo kluczowe
|-
|-
| [[Python]]
| [[Python]]
| <source lang="python" inline>None</source>
| <syntaxhighlight lang="python" inline>None</syntaxhighlight>
| identyfikator (wbudowana nazwa obiektu)
| identyfikator (wbudowana nazwa obiektu)
|-
|-
| [[Visual Basic]]<ref name="vb"/><ref name="excelivba"/>
| [[Visual Basic]]<ref name="vb"/><ref name="excelivba"/>
| <source lang="vb" inline>Nothing</source>
| <syntaxhighlight lang="vb" inline>Nothing</syntaxhighlight>
| słowo kluczowe
| słowo kluczowe
|}
|}
Linia 50: Linia 50:
== Przykład ==
== Przykład ==
Przykład zastosowania literału pustego do badania istnienia określonej instancji klasy, w języku Visual Basic<ref name="vb"/><ref name="excelivba"/>:
Przykład zastosowania literału pustego do badania istnienia określonej instancji klasy, w języku Visual Basic<ref name="vb"/><ref name="excelivba"/>:
<source lang="vb">
<syntaxhighlight lang="vb">
' VISUAL BASIC
' VISUAL BASIC
Dim Ob As Object
Dim Ob As Object
Linia 61: Linia 61:
' Ob istnieje
' Ob istnieje
End If
End If
</syntaxhighlight>
</source>


== Zobacz też ==
== Zobacz też ==

Wersja z 23:54, 17 kwi 2020

Literał pustyliterał zapisany zgodnie z zasadami składni określonego języka programowania, reprezentujący w kodzie źródłowym wartość nieokreśloną, wartość pustą, wskazanie puste, nie określającą żadnego adresu.

Stosowanie

Literał pusty stosowany jest często do kontroli, czy dana zmienna wskaźnikowa ma przypisane wskazanie jakiegoś obiektu, lub do nadawania takiej zmiennej wskazania pustego. W programowaniu obiektowym z semantyką referencyjną (ang. reference semantic) kontrola dotyczy istnienia instancji klasy przypisanej do danej zmiennej obiektowej.

Języki programowania

W różnych językach funkcję literału pustego pełnią różne jednostki leksykalne (niekoniecznie literały):

język programowania zapis rodzaj jednostki leksykalnej
C[1][2][3][4] NULL stała preprocesora
C++ nullptr słowo kluczowe
Clipper[5], Modula-2[6] NIL literał
Common Lisp NIL symbol
Icon[7] &null słowo kluczowe
JavaScript, Nemerle null słowo zastrzeżone
Pascal[8][9] nil słowo kluczowe
Python None identyfikator (wbudowana nazwa obiektu)
Visual Basic[10][11] Nothing słowo kluczowe

Przykład

Przykład zastosowania literału pustego do badania istnienia określonej instancji klasy, w języku Visual Basic[10][11]:

' VISUAL BASIC
Dim Ob As Object
' instrukcje
If Ob Is Nothing Then
  ' instrukcje wykonywane, gdy obiekt
  ' Ob nie został utworzony
Else
  ' instrukcje wykonywane, gdy obiekt
  ' Ob istnieje
End If

Zobacz też

Przypisy

  1. Podręcznik języka C na Wikibooks
  2. Brian W. Kernighan, Dennis M. Ritche: Język C. Warszawa: Wydawnictwa Naukowo-Techniczne, 1988, seria: Biblioteka Inżynierii Oprogramowania. ISBN 83-204-1067-3. (pol.).
  3. Jan Bielecki: Turbo C z grafiką na IBM PC. Warszawa: Wydawnictwa Naukowo-Techniczne, 1990, seria: Mikrokomputery. ISBN 83-204-1101-7. (pol.).
  4. Jan Bielecki: Od C do C++, programowanie obiektowe w języku C. Warszawa: Wydawnictwa Naukowo-Techniczne, 1990. ISBN 83-204-1332-X. (pol.).
  5. Wojciech Rogowski, Arkadiusz Serodziński: Clipper 5.0. Warszawa: Wydawnictwo PLJ, 1991. ISBN 83-85190-20-1. (pol.).
  6. Niklaus Wirth: Modula 2. Warszawa: Wydawnictwa Naukowo-Techniczne, 1987, seria: Biblioteka Inżynierii Oprogramowania. ISBN 83-204-0828-8. ISSN 0867-6011. (pol.).
  7. Ralph E. Griswold, Madge T. Griswold: Icon. Warszawa: Wydawnictwa Naukowo-Techniczne, 1987, seria: Biblioteka Inżynierii Oprogramowania. ISBN 83-204-0871-7. (pol.).
  8. Michał Iglewski, Jan Madey, Stanisław Matwin: Pascal. Język wzorcowy – Pascal 360. Wyd. wydanie trzecie – zmienione. Warszawa: Wydawnictwa Naukowo-Techniczne, 1984, seria: Biblioteka Inżynierii Oprogramowania. ISBN 83-85060-53-7. ISSN 0867-6011. (pol.).
  9. Andrzej Marciniak: Borland Pascal 7.0. Poznań: Nakom, 1994, seria: Biblioteka Użytkownika Mikrokomputerów. ISBN 83-85060-53-7. ISSN 0867-6011. (pol.).
  10. a b Podręcznik Visual Basic na Wikibooks
  11. a b John Walkenbach: Excel 2003 PL. Programowanie w VBA.. HELION, 2004. ISBN 837361-504-0. (pol.).