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 <guillermopolito@gmail.com> 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 <guillermopolito@gmail.com> 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 <sven@beta9.be> 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