Le mardi 07 juillet 2015 à 15:07 -0700, andrew cooke a écrit :
> 
> thanks - the accidental bug explanation makes everything clear (and 
> yes, that was the question).  cheers, andrew
> 
> On Tuesday, 7 July 2015 17:14:32 UTC-3, Leah Hanson wrote:
> > I think his summary in #11031 is accurate, and the reason given 
> > directly in the reply is the reason for using/importall to be 
> > different. Issue #8000 is a discussion of ways to change/simplify 
> > the syntax.
> > 
> > I'll take a stab at rephrasing the different in case that helps. 
> > There is only one difference, and on the surface (syntax-wise) it 
> > may seem very minor. The difference between "using" and "importall" 
> > is that with "using" you need to say "function Foo.bar(.." to 
> > extend module Foo's function bar with a new method, but with 
> > "importall" or "import Foo.bar", you only need to say "function 
> > bar(..." and it automatically extends module Foo's function bar.
> > 
> > If you use "importall", then "function Foo.bar(..." and "function 
> > bar(..." become equivalent. If you use "using", then they are 
> > different.
> > 
> > The reason this is important enough to have been given separate 
> > syntax is that you don't want to accidentally extend a function 
> > that you didn't know existed, because that could easily cause a 
> > bug. This is most likely to happen with a method that takes a 
> > common type like string or int, because both you and the other 
> > module could define a method to handle such a common type. If you 
> > use importall, then you'll replace the other module's 
> > implementation of "bar(s::String)" with your new implementation, 
> > which could easily do something complete different (and break 
> > all/many future usages of the other functions in module Foo that 
> > depend on calling bar).
> > 
> > Does this make more sense to you?
> > (And is it an answer to the question you were asking, or did I 
> > misunderstand?)
How about adding this to the FAQ, since you took the time to write it
down?


Regards

> > Best,
> >  Leah
> > 
> > On Tue, Jul 7, 2015 at 9:05 AM, andrew cooke <[email protected]> 
> > wrote:
> > > 
> > > i'm trying to understand the difference between "using" and 
> > > "importall".  i have the same confusion described at 
> > > https://github.com/JuliaLang/julia/issues/11031 but, unlike the 
> > > OP there, reading https://github.com/JuliaLang/julia/issues/8000 
> > > had not clarified things for me.
> > > 
> > > thanks,
> > > andrew
> > > 
> > > 
> > 

Reply via email to