🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.lang.pascal
Article #92301

Re: [A propos] Re: Obiekt jako parametr procedury - problem

#92301
From: Solaris
Date: Thu, 06 Dec 2007 18:34
92 lines
3022 bytes
Dnia Thu, 06 Dec 2007 17:19:00 +0100, jakże pięknego
Magda S <sowamagda@vp.pl> wystukał co zawarte poniżej:

: Terrmit pisze:
: > Magda S pisze:
: >> Terrmit pisze:
: > [ciach]
: >>
: >> A odpowiedź mogłaby być przypuszczalnie taka:
: >>
: >>
: >> Są sobie dwa obiekty - X1 i X2. Obydwa mają właściwość Count typu 
: >> Integer.
: >>
: >> I mamy taki kod:
: >>
: >>
: >> X1.Count := 1;
: >> X2.Count := 2;
: >>
: >> with X1 do
: >> begin
: >>   with X2 do
: >>   begin
: >>     Count := 3;
: >>   end;
: >> end;
: >>
: >>
: >>
: >> I teraz zagadka: do której właściwości odnosi się "Count := 3"? do 
: >> X1.Count czy X2.Count?
: >>
: >> Zastanów się DOBRZE, zanim odpowiesz...
: >>
: > Count := 3 odnosi się do X2

Masz jakiś zepsuty kompilator:

#v+
type
    TObject     = object
    public
        X       : Integer;
    end;
    
    
var
    obj1, obj2: TObject;
    
    
    
begin
    obj1.X:=1;
    obj2.X:=2;
    
    with (obj1) do
    begin
        with (obj2) do
        begin
            x:=666; // (*) odnosi się do obj2 a nie obj1 tak jak ty twierdzisz
        end;
    end;
    
    writeln(obj1.x);
    writeln(obj2.x);
end.
#v-

I teraz tak:
--(solaris@admin)-<19:31:41>-<Thu Dec 06>
--(~/tmp)-$> fpc ob                                                                                           
Free Pascal Compiler version 2.2.0 [2007/08/31] for i386
Copyright (c) 1993-2007 by Florian Klaempfl
Target OS: Linux for i386
Compiling ob.pp
Linking ob
28 lines compiled, 0.2 sec

--(solaris@admin)-<19:32:00>-<Thu Dec 06>
--(~/tmp)-$> ob                                                                                               
1
666

(*) Czyli widać na przykładzie, że twoje X2.Count (u mnie x (aka obj2.x)) odnosi
się do obj2.x a nie jak ty twierdzisz obj1.x

-- 
Home: admin.idns.pl
Linux registered user: 408584
Contact: GG#44450, solaris#idns.pl
19:16:28 -!- Platyna Erroneous Nickname 
Technical Details
Message-ID: <20071206193428.4f37d31d.solaris@be.inspired>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!newsfeed.gazeta.pl!opal.futuro.pl!news.internetia.pl!newsfeed.tpinternet.pl!atlantis.news.tpi.pl!news.tpi.pl!not-for-mail
References: <fj7cka$ldq$1@nemesis.news.tpi.pl> <fj899b$8j6$1@atlantis.news.tpi.pl> <fj8fdm$ehh$1@news.onet.pl> <fj8on4$2pb$1@atlantis.news.tpi.pl> <fj97do$t6j$1@news.onet.pl>

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!newsfeed.gazeta.pl!opal.futuro.pl!news.internetia.pl!newsfeed.tpinternet.pl!atlantis.news.tpi.pl!news.tpi.pl!not-for-mail
From: Solaris <solaris@be.inspired>
Newsgroups: pl.comp.lang.pascal
Subject: Re: [A propos] Re: Obiekt jako parametr procedury - problem
Date: Thu, 6 Dec 2007 19:34:28 +0100
Organization: Szeregi milicji
Lines: 92
Message-ID: <20071206193428.4f37d31d.solaris@be.inspired>
References: <fj7cka$ldq$1@nemesis.news.tpi.pl> <fj899b$8j6$1@atlantis.news.tpi.pl> <fj8fdm$ehh$1@news.onet.pl> <fj8on4$2pb$1@atlantis.news.tpi.pl> <fj97do$t6j$1@news.onet.pl>
NNTP-Posting-Host: aacm83.neoplus.adsl.tpnet.pl
Mime-Version: 1.0
X-Trace: atlantis.news.tpi.pl 1196966209 19962 83.4.64.83 (6 Dec 2007 18:36:49 GMT)
X-Complaints-To: usenet@tpi.pl
NNTP-Posting-Date: Thu, 6 Dec 2007 18:36:49 +0000 (UTC)
X-Newsreader: Sylpheed 2.4.7 (GTK+ 2.10.13; i686-pc-linux-gnu)
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit