Jump to content

Recommended Posts

Posted

Hello, 

Maybe a more special question, but here we go.

Just to see if I have a good understanding wich t comes out here :

local t = layout:getVehiclesOn(signal)  gives a table  t with the vehicles on that track contact. ( 1 item or none )
local t = layout:getVehiclesOn($("LongTrack")) gives a table t with the vehicles on that track


I want to know if there is a vehicle an the contact of the signal.
In previous tests I used # for the number of items in a table.
  if #t ~= 0 then  ( there is a vehicle on the signal , a wagon or a loc )

So far so good, my problem is solved.

But t is a table, the test
if t ~= {}  an empty table  failed, why  ?

Some help is welcome.

Kind regards,

Herman 

 

 

Posted

Those are only references to tables. 

You are comparing two different references. 

You could check the NEXT Operator for that. But i am not sure that works. Remember there are different kinds of members in a table. 

Posted

Hello @HaNNoveraNer

You  "Those are only references to tables".  

A reference to the memory ( like a pointer ) I agree with you. 
Thanks for your answer !

Greetings, have a nice weekend.

Herman (BE)

Posted
vor 7 Minuten schrieb Herman:

like a pointer

exactly.
t and {} are two different tables.
You want to know, if both have the same property (i.e. the same number of entries),
but with t == {} you're asking if both are the same table.

 

Posted

Hello Götz and Thomas,

With "only references to" from Thomas I understood that I was comparing two different things.

Thanks to both ! 

Nice regards,
Herman

 

 

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...