> On 14 Feb 2019, at 13:55, David Richards <david.i.richards....@gmail.com> 
> wrote:
> 
> Hi Sven,
> 
> Your second example expression fails for 'workingDirectory':
> 
> FileLocator workingDirectory resolve pathSegments
> ==> #()
> 
> It works fine for FileLocator home but not for FileLocator workingDirectory .
> 
> Your first expression will produce the desired result, if ensourcelled with 
> syntactimancy:
> 
> FileLocator workingDirectory pathString asFileReference pathSegments
> 
> This smells a lot like an edge case to me. But perhaps it is the Way of 
> Smalltalk.

Like Alistair said, it should be

 FileLocator workingDirectory asAbsolute pathSegments.

because it is a relative path.

> Thanks
> David
> 
> 
> 
> On Wed, 13 Feb 2019 at 22:46, Sven Van Caekenberghe <s...@stfx.eu> wrote:
> David,
> 
> > On 14 Feb 2019, at 03:56, David Richards <david.i.richards....@gmail.com> 
> > wrote:
> > 
> > Hi community,
> > 
> > Consider:
> > 
> > | file |
> > file := FileLocator workingDirectory .
> > file fullName .
> > "==> '/Users/dr/Documents/Pharo/images/Study (Pharo 7.0 - 64bit stable)'"
> > file pathSegments .
> > "==> #()"
> > 
> > How do we obtain path segments for the working directory?
> > 
> > Is this an edge case where pathSegments does not return a semantically 
> > consistent value?
> > 
> > Thanks
> > David
> 
> A FileLocator is a bit special, it is usable, but not yet fully realised, 
> more abstract. 
> 
> You can use resolve. Consider:
> 
> FileLocator home pathString.
>  "'/Users/sven'"
> 
> FileLocator home resolve pathSegments.
>  "#('Users' 'sven')"
> 
> HTH,
> 
> Sven
> 
> 


Reply via email to