On Mar 16, 2012, at 11:49 AM, Sven Van Caekenberghe wrote: > If you want to avoid hardcoding a class reference to Zn, you could do a > simple download like this: > > 'http://zn.stfx.eu/zn/numbers.txt' asZnUrl retrieveContents
Sven the problem is that it just hides the problem. If Zinc is not loaded then this code is broken code. Stef > > It avoids an entry to Undeclared or the ugly test, and it since it is > implemented as > > retrieveContents > "Download and return the resource that I refer to. > This will typically return a String or a ByteArray (see > ZnClient>>#get:). > If something goes wrong, an exception will be signalled." > > " 'http://zn.stfx.eu/zn/numbers.txt' asZnUrl retrieveContents. " > > ^ ZnClient new > beOneShot; > enforceHttpSuccess: true; > get: self > > it is easy to use for simple scripting. > > Sven > > On 16 Mar 2012, at 00:24, Igor Stasenko wrote: > >> you can always make dependency less hardcoded: >> >> Smalltalk at: #ZnClient ifAbsent: [ self error: 'sorry dude' ] >> ifPresent: [:client | >> ... download stuff , whatever ] >> >> >> On 16 March 2012 00:18, Guillermo Polito <[email protected]> wrote: >>> That's why I generated a method from the file, and then put the link in the >>> comment... >>> >>> >>> On Thu, Mar 15, 2012 at 8:17 PM, Guillermo Polito >>> <[email protected]> wrote: >>>> >>>> But what if I want to have an image without Zinc? Ok, I will not use that >>>> method, but I'll get an Undeclared entry and therefore a dirty image... :/ >>>> >>>> >>>> On Thu, Mar 15, 2012 at 12:37 PM, Sven Van Caekenberghe <[email protected]> >>>> wrote: >>>>> >>>>> Hi Guillermo, >>>>> >>>>> On 15 Mar 2012, at 16:25, Guillermo Polito wrote: >>>>> >>>>>> Of course with a nice comment saying something like: >>>>>> >>>>>> "Initialize the mappings from unicode lower to upper case and vice >>>>>> versa. sourceCodes and destinyCodes contains the unicode values for the >>>>>> mappings, and they match one by one. >>>>>> The source of this mapping can be found at: >>>>>> http://www.unicode.org/Public/UNIDATA/CaseFolding.txt' " >>>>> >>>>> Have a look at what I did with >>>>> http://code.google.com/p/pharo/issues/detail?id=4187 >>>>> >>>>> The spec tables are constants, like in your latest example, but I added a >>>>> method that can generate these from an internet accessible resource (using >>>>> Zn as HTTP client). That way, there is some kind of dependency, but not >>>>> really at run time. I think it is cool to literally use these public spec >>>>> documents. >>>>> >>>>> Sven >>>>> >>>> >>> >> >> >> >
