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

Z Wikipedii, wolnej encyklopedii
[wersja przejrzana][wersja przejrzana]
Usunięta treść Dodana treść
Info do tabeli
Joee (dyskusja | edycje)
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ą<ref>[[język angielski|ang]]. ''reference semantic''</ref> kontorla dotyczy istnienia [[Instancja (programowanie)|instacji]] [[Klasa (programowanie obiektowe)|klasy]] przypisanej do danej zmiennej obiektowej.
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"/>:
' VISUAL BASIC
<source lang="vb">
...
' VISUAL BASIC
Dim Ob As Object
Dim Ob As Object
...
' instrukcje
If Ob Is '''Nothing''' Then
If Ob Is '''Nothing''' Then
...
' instrukcje wykonywane, gdy obiekt
Else
' Ob nie został utworzony
...
Else
End If
' instrukcje wykonywane, gdy obiekt
...
' Ob istnieje
End If
</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
  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. ISSN 0867-6011. ISBN 83-204-0828-8. (pol.).
  7. Ralph E. Griswold, Madge T. Griswold: Icon. Warszawa: Wydawnictwa Naukowo-Techniczne, 1987, seria: Biblioteka Inżynierii Oprogramowania. ISBN 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. ISSN 0867-6011. ISBN 83-85060-53-7. (pol.).
  9. Andrzej Marciniak: Borland Pascal 7.0. Poznań: Nakom, 1994, seria: Biblioteka Użytkownika Mikrokomputerów. ISSN 0867-6011. ISBN 83-85060-53-7. (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.).
{{Przypisy}} Nieprawidłowe pola: przypisy.

Zobacz też