Well, as you can see in my response elsewhere, none of that actually works as 
you describe.

>      ingredientsXML := XMLHTMLParser parseURL: 
> 'https://ndb.nal.usda.gov/ndb/search/list?sort=ndb&ds=Standard+Reference'.

Doesn’t raise any errors, with or without the local variable declaration.

> ingredientsXML = nil returns false

> ingredientsXML inspect

Raises the message “#new on nil

I “do it” on the entire text or on each line in the order entered. It doesn’t 
matter.

I’m using a Mac with Mac OS X Catalina, using Pharo 7.


L


> On Jan 7, 2020, at 5:31 AM, Torsten Bergmann <asta...@gmx.de> wrote:
> 
> Agree with Peter - but "screw things up" means then the users screws up.
> 
> Pharo and the Playground is working fine on them. But one has to know the 
> difference when 
> working with the Playground:
> 
> 1. If you evaluate with an explicit variable declaration than the variable is 
> freshly defined and used like a temporary variable in a method:
> 
>      | ingredientsXML |
>      ingredientsXML := XMLHTMLParser parseURL: 
> 'https://ndb.nal.usda.gov/ndb/search/list?sort=ndb&ds=Standard+Reference'.
>      ingredientsXML inspect
> 
>   You have to selected the full text and evaluate it (either with "do It" or 
> "print it" to get the result. 
> 
>   If you only select "ingredientsXML inspect" part first and evaluate then 
> the variable "ingredientsXML" is not known, undefined 
>   and uninitialized and therefore results in a nil.
> 
> 2. If in the playground you do not give an explicit variable declaration at 
> the beginning line like for example in
> 
>          ingredientsXML := XMLHTMLParser parseURL: 
> 'https://ndb.nal.usda.gov/ndb/search/list?sort=ndb&ds=Standard+Reference'.
>          ingredientsXML inspect    
> 
>    then a "workspace local variable" is implicitly created by the playground 
> as soon as you evaluate which means 
> 
>      - "ingredientsXML" is defined as a workspace variable as soon as you 
> evaluate
>      - the contents of "ingredientsXML" is preserved over different 
> evaluations within the workspace / playground
>      - you can use only "ingredientsXML" within this playground (not in 
> another plaground)
> 
>    So you can evaluate the first line doing the assignment (this initializes 
> the workspace variable "ingredientsXML" for the current playground) 
>    and when you later want to use it again you can just inspect it or 
> evaluate the second line in the same playground.
> 
>    If you like you can open a second playground which can have its own 
> "ingredientsXML" workspace variable.
> 
> Workspace variables (or "playground variables") are convenient for 
> experimenting - as they are preserved - but
> yes they might confuse you when you cant remember what was done with them 
> last.
> 
> Bye
> T.
> 
>> Gesendet: Dienstag, 07. Januar 2020 um 09:55 Uhr
>> Von: "PBKResearch" <pe...@pbkresearch.co.uk>
>> An: "'Any question about pharo is welcome'" <pharo-users@lists.pharo.org>
>> Betreff: Re: [Pharo-users] [ANN] XMLParserHTML moved to GitHub
>> 
>> It may be a quirk of how Pharo Playground works. It doesn't need local 
>> variable declarations - which is convenient - but putting them in can screw 
>> things up. Try your snippet again without the first line. Compare Torsten's 
>> code.
>> 
>> HTH
>> 
>> Peter Kenny
>> 
>> -----Original Message-----
>> From: Pharo-users <pharo-users-boun...@lists.pharo.org> On Behalf Of Torsten 
>> Bergmann
>> Sent: 07 January 2020 07:47
>> To: pharo-users@lists.pharo.org
>> Cc: pharo-users@lists.pharo.org
>> Subject: Re: [Pharo-users] [ANN] XMLParserHTML moved to GitHub
>> 
>> Works without a problem (Pharo 8 on Windows), see attached. So it looks like 
>> a local problem.
>> 
>> Just check the debugger and compare to the squeak version where you run in 
>> trouble.
>> Maybe the document could not be retrieved on your machine.
>> 
>> Bye
>> T.
>> 
>>> Gesendet: Dienstag, 07. Januar 2020 um 04:42 Uhr
>>> Von: "LawsonEnglish" <lengli...@cox.net>
>>> An: pharo-users@lists.pharo.org
>>> Betreff: Re: [Pharo-users] [ANN] XMLParserHTML moved to GitHub
>>> 
>>> Torsten Bergmann wrote
>>>> Hi,
>>>> 
>>>> 
>>>> You can load using
>>>> 
>>>>   Metacello new
>>>>    baseline: 'XMLParserHTML';
>>>>    repository: 'github://pharo-contributions/XML-XMLParserHTML/src';
>>>>    load.
>>>> 
>>>> 
>>>> Bye
>>>> T.
>>> 
>>> Hi,
>>> 
>>> I'm trying to use the sample code in the pharo screen scraping booklet 
>>> — 
>>> http://books.pharo.org/booklet-Scraping/pdf/2018-09-02-scrapingbook.pdf — 
>>> but while everything appears to load, I'm getting an odd behavior from:
>>> 
>>> /| ingredientsXML |
>>> ingredientsXML := XMLHTMLParser parseURL:
>>> 'https://ndb.nal.usda.gov/ndb/search/list?sort=ndb&ds=Standard+Reference'.
>>> ingredientsXML inspect/
>>> 
>>> "#new was sent to nil"
>>> 
>>> No matter what URL I use, I get the same message.
>>> 
>>> I'm using Mac OS Catalina so I thought I might have some strange Mac 
>>> OS security issue (like it was quietly refusing to allow Pharo to 
>>> access the internet), but I tested with squeak and the old
>>> 
>>> /html :=(HtmlParser parse:
>>> 'https://ndb.nal.usda.gov/ndb/search/list?sort=ndb&ds=Standard+Reference'
>>> asUrl retrieveContents content)/
>>> 
>>> and that returns actual html without any problems.
>>> 
>>> 
>>> Suggestions?
>>> 
>>> 
>>> Thanks.
>>> 
>>> L
>>> 
>>> 
>>> 
>>> 
>>> --
>>> Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html
>>> 
>>> 
>> 
>> 
>> 
> 


Reply via email to