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

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

Attachment: smime.p7s
Description: S/MIME cryptographic signature

Reply via email to