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 en*source*lled
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.

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