Literał pusty: Różnice pomiędzy wersjami
[wersja przejrzana] | [wersja przejrzana] |
Info do tabeli |
uźródłowienie |
||
Linia 1: | Linia 1: | ||
'''Literał pusty''' to [[literał ]]zapisany zgodnie z zasadami składni określonego [[Język programowania|języka programowania]], reprezentujący w [[Kod źródłowy|kodzie źródłowym]] wartość nieokreśloną, wartość pustą, wskazanie puste, nie określającą żadnego [[Adres pamięci|adresu]]. |
'''Literał pusty''' to [[literał ]]zapisany zgodnie z zasadami składni określonego [[Język programowania|języka programowania]], reprezentujący w [[Kod źródłowy|kodzie źródłowym]] wartość nieokreśloną, wartość pustą, wskazanie puste, nie określającą żadnego [[Adres pamięci|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 [[Programowanie obiektowe|programowaniu obiektowym]] z semantyką referencyjną |
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 [[Programowanie obiektowe|programowaniu obiektowym]] z semantyką referencyjną ([[język angielski|ang]]. ''reference semantic'') kontrola dotyczy istnienia [[Instancja (programowanie)|instancji]] [[Klasa (programowanie obiektowe)|klasy]] przypisanej do danej [[Zmienna (informatyka)|zmiennej]] obiektowej. |
||
== Języki programowania == |
|||
W różnych językach funkcję literału pustego pełnią różne jednostki leksykalne (niekoniecznie literały): |
W różnych językach funkcję literału pustego pełnią różne jednostki leksykalne (niekoniecznie literały): |
||
{|class="wikitable" |
{|class="wikitable" |
||
Linia 9: | Linia 11: | ||
! rodzaj [[Jednostka leksykalna|jednostki leksykalnej]] |
! rodzaj [[Jednostka leksykalna|jednostki leksykalnej]] |
||
|- |
|- |
||
| [[C (język programowania)|C]] |
| [[C (język programowania)|C]]<ref name="c"/><ref name="c-kr"/><ref name="tc-jb"/><ref name="cpp-jb"/> |
||
| NULL |
| NULL |
||
| stała [[Preprocesor|preprocesora]] |
| stała [[Preprocesor|preprocesora]] |
||
|- |
|- |
||
| [[Clipper]], [[Modula-2]] |
| [[Clipper]]<ref name="clipper"/>, [[Modula-2]]<ref name="modula2"/> |
||
| NIL |
| NIL |
||
| literał |
| literał |
||
Linia 21: | Linia 23: | ||
| symbol |
| symbol |
||
|- |
|- |
||
| [[Icon]] |
| [[Icon]]<ref name="icon"/> |
||
| &null |
| &null |
||
| [[Słowo kluczowe (informatyka)|słowo kluczowe]] |
| [[Słowo kluczowe (informatyka)|słowo kluczowe]] |
||
Linia 29: | Linia 31: | ||
| słowo zastrzeżone |
| słowo zastrzeżone |
||
|- |
|- |
||
| [[Pascal (język programowania)|Pascal]] |
| [[Pascal (język programowania)|Pascal]]<ref name="pascal"/><ref name="bp"/> |
||
| nil |
| nil |
||
| słowo kluczowe |
| słowo kluczowe |
||
Linia 37: | Linia 39: | ||
| identyfikator (wbudowana nazwa obiektu) |
| identyfikator (wbudowana nazwa obiektu) |
||
|- |
|- |
||
| [[Visual Basic]] |
| [[Visual Basic]]<ref name="vb"/><ref name="excelivba"/> |
||
| Nothing |
| Nothing |
||
| słowo kluczowe |
| słowo kluczowe |
||
Linia 43: | Linia 45: | ||
== 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"/>: |
|||
⚫ | |||
<source lang="vb"> |
|||
... |
|||
⚫ | |||
Dim Ob As Object |
|||
... |
|||
' instrukcje |
|||
If Ob Is '''Nothing''' Then |
|||
... |
|||
' instrukcje wykonywane, gdy obiekt |
|||
⚫ | |||
' Ob nie został utworzony |
|||
... |
|||
⚫ | |||
⚫ | |||
' instrukcje wykonywane, gdy obiekt |
|||
... |
|||
' Ob istnieje |
|||
⚫ | |||
</source> |
|||
{{Przypisy|2|przypisy= |
|||
<ref name="pascal">{{cytuj książkę |autor =Michał Iglewski |autor2 =Jan Madey| autor3=Stanisław Matwin |autor link = | tytuł =Pascal. Język wzorcowy – Pascal 360 | wydawca = Wydawnictwa Naukowo-Techniczne | miejsce =Warszawa | rok =1984 | seria =[[Biblioteka Inżynierii Oprogramowania]] | strony = | id=ISSN 0867-6011 | wydanie=wydanie trzecie – zmienione | isbn =83-85060-53-7 | język = pl}}</ref> |
|||
<ref name="bp">{{cytuj książkę |autor =Andrzej Marciniak |autor2 =| autor3= |autor link =Andrzej Marciniak (matematyk) | tytuł =Borland Pascal 7.0 | wydawca = Nakom | miejsce =Poznań | rok =1994 | seria =[[Biblioteka Użytkownika Mikrokomputerów]] | strony = | id=ISSN 0867-6011 | wydanie= | isbn =83-85060-53-7 | język = pl}}</ref> |
|||
<ref name="c">[[b:C|Podręcznik języka C na Wikibooks]]</ref> |
|||
<ref name="c-kr">{{cytuj książkę |autor =Brian W. Kernighan |autor2 =Dennis M. Ritche |autor link =Brian Kernighan | autor link2 =Dennis Ritchie| tytuł =Język C | wydawca = Wydawnictwa Naukowo-Techniczne | miejsce =Warszawa | rok =1988| seria =[[Biblioteka Inżynierii Oprogramowania]] | strony = | isbn =83-204-1067-3 | język = pl}}</ref> |
|||
<ref name="tc-jb">{{cytuj książkę |autor =Jan Bielecki |autor2 = |autor link =Jan Bielecki | tytuł =Turbo C z grafiką na IBM PC | wydawca = Wydawnictwa Naukowo-Techniczne | miejsce =Warszawa | rok =1990| seria =[[Mikrokomputery]] | strony = | isbn =83-204-1101-7 | język = pl}}</ref> |
|||
<ref name="cpp-jb">{{cytuj książkę |autor =Jan Bielecki |autor2 = |autor link =Jan Bielecki | tytuł =Od C do C++, programowanie obiektowe w języku C | wydawca = Wydawnictwa Naukowo-Techniczne | miejsce =Warszawa | rok =1990| seria = | strony = | isbn =83-204-1332-X | język = pl}}</ref> |
|||
<ref name="modula2">{{cytuj książkę |autor =Niklaus Wirth |autor2 =| autor3= |autor link =Niklaus Wirth | tytuł =Modula 2 | wydawca = Wydawnictwa Naukowo-Techniczne| miejsce =Warszawa | rok =1987| seria =[[Biblioteka Inżynierii Oprogramowania]] | strony = | id=ISSN 0867-6011 | wydanie= | isbn =83-204-0828-8 | język = pl}}</ref> |
|||
<ref name="vb">[[b:Visual Basic|Podręcznik Visual Basic na Wikibooks]]</ref> |
|||
<ref name="excelivba">{{cytuj książkę |autor =John Walkenbach |autor link = | tytuł =Excel 2003 PL. Programowanie w VBA. | wydawca = HELION | miejsce = | rok =2004 | seria = | strony = | isbn =837361-504-0 | język = pl}}</ref> |
|||
<ref name="icon">{{cytuj książkę |autor =Ralph E. Griswold |autor2 =Madge T. Griswold |autor link = | tytuł =Icon | wydawca = Wydawnictwa Naukowo-Techniczne | miejsce =Warszawa | rok =1987| seria =[[Biblioteka Inżynierii Oprogramowania]] | strony = | isbn =ISBN 83-204-0871-7 | język = pl}}</ref> |
|||
<ref name="clipper">{{cytuj książkę |autor =Wojciech Rogowski |autor2 =Arkadiusz Serodziński |autor link = | tytuł =Clipper 5.0 | wydawca = Wydawnictwo PLJ | miejsce =Warszawa | rok =1991 | seria = | strony = | isbn =83-85190-20-1 | język = pl}}</ref> |
|||
}} |
|||
== Zobacz też == |
== Zobacz też == |
Wersja z 11:13, 5 lut 2011
Literał pusty to literał 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 |
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
- ↑ Podręcznik języka C na Wikibooks
- ↑ 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.).
- ↑ Jan Bielecki: Turbo C z grafiką na IBM PC. Warszawa: Wydawnictwa Naukowo-Techniczne, 1990, seria: Mikrokomputery. ISBN 83-204-1101-7. (pol.).
- ↑ Jan Bielecki: Od C do C++, programowanie obiektowe w języku C. Warszawa: Wydawnictwa Naukowo-Techniczne, 1990. ISBN 83-204-1332-X. (pol.).
- ↑ Wojciech Rogowski, Arkadiusz Serodziński: Clipper 5.0. Warszawa: Wydawnictwo PLJ, 1991. ISBN 83-85190-20-1. (pol.).
- ↑ Niklaus Wirth: Modula 2. Warszawa: Wydawnictwa Naukowo-Techniczne, 1987, seria: Biblioteka Inżynierii Oprogramowania. ISSN 0867-6011. ISBN 83-204-0828-8. (pol.).
- ↑ Ralph E. Griswold, Madge T. Griswold: Icon. Warszawa: Wydawnictwa Naukowo-Techniczne, 1987, seria: Biblioteka Inżynierii Oprogramowania. ISBN ISBN 83-204-0871-7. (pol.).
- ↑ 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. ISSN 0867-6011. ISBN 83-85060-53-7. (pol.).
- ↑ Andrzej Marciniak: Borland Pascal 7.0. Poznań: Nakom, 1994, seria: Biblioteka Użytkownika Mikrokomputerów. ISSN 0867-6011. ISBN 83-85060-53-7. (pol.).
- ↑ a b Podręcznik Visual Basic na Wikibooks
- ↑ a b John Walkenbach: Excel 2003 PL. Programowanie w VBA.. HELION, 2004. ISBN 837361-504-0. (pol.).