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
>>>>> 
>>>> 
>>> 
>> 
>> 
>> 
> 


Reply via email to