Also, there is an implicit y =. argument
to begin every explicit verb, and it would be a pity if that required a copy of the data. Henry Rich On 11/23/2011 9:36 AM, Roger Hui wrote: > Names are reference-counted so that if you say a=:b=: 123 the reference > counts for a and b are each one more than if you'd said a=:123 and b=:123. > Before the interpreter modifies an array it checks the reference count and > if that count is not the minimum it will make a copy of the array before > modifying it. > >> (but what would be the prupose?) > > Shorter code. a=:b=:c=: blah is a common construct, in many programming > languages. > > > > On Wed, Nov 23, 2011 at 6:16 AM, Ben Gorte - LR<[email protected]>wrote: > >> >> Dear J forum, >> >> To my surprise I found out that >> >> a =. b =. 480 640$0 >> >> is not the same as >> >> a =. 480 640$0 >> b =. 480 640$0 >> >> as the first gives you two names pointing to the same data. I guess that >> should be ok, and it saves space (but what would be the prupose?) >> >> I passed both as pointers to a DLL (a .so in linux), which was supposed to >> put two different images in a and b, and then the first is not ok. It only >> works with the second variant :-) >> >> Greetings from Cape Town, >> Ben >> >> ---------------------------------------------------------------------- >> For information about J forums see http://www.jsoftware.com/forums.htm >> > ---------------------------------------------------------------------- > For information about J forums see http://www.jsoftware.com/forums.htm > ---------------------------------------------------------------------- For information about J forums see http://www.jsoftware.com/forums.htm
