[Newbies] Re: mix ins

2016-08-02 Thread Joseph Alotta
Hi Bert,

I downloaded Squeak 5.0.  Seems to work well.  But I have a few issues:

1.  How do I make the system font bigger?

2.  How do I make the flaps disappear? 

Sincerely,

Joe.







--
View this message in context: 
http://forum.world.st/mix-ins-tp4909171p4909225.html
Sent from the Squeak - Beginners mailing list archive at Nabble.com.___
Beginners mailing list
Beginners@lists.squeakfoundation.org
http://lists.squeakfoundation.org/mailman/listinfo/beginners


Re: [Newbies] Re: mix ins

2016-08-02 Thread Bert Freudenberg
On Tue, Aug 2, 2016 at 8:55 PM, Joseph Alotta 
wrote:

> 4.3
>
> What is the procedure for upgrading?  Should I file-out the classes,
> download the new version and then file-in?
>

That would be one simple way to do it, yes.

OTOH if you're happy with 4.3 there is no need to upgrade - just add the
methods you need to your image.

- Bert -
___
Beginners mailing list
Beginners@lists.squeakfoundation.org
http://lists.squeakfoundation.org/mailman/listinfo/beginners


[Newbies] Re: mix ins

2016-08-02 Thread Joseph Alotta
4.3

What is the procedure for upgrading?  Should I file-out the classes, download 
the new version and then file-in?

Sincerely,

Joe.



> On Aug 2, 2016, at 1:31 PM, Bert Freudenberg [via Smalltalk] 
>  wrote:
> 
> On Tue, Aug 2, 2016 at 5:48 PM, Joseph Alotta <[hidden email]> wrote:
> Bert,
> 
> I don’t have these methods.  I get an error.  See attached:
> 
> 
> Are you using Squeak 5.0?
> 
> - Bert -
> 
> ___ 
> Beginners mailing list 
> [hidden email] 
> http://lists.squeakfoundation.org/mailman/listinfo/beginners
> 
> 
> If you reply to this email, your message will be added to the discussion 
> below:
> http://forum.world.st/mix-ins-tp4909171p4909199.html
> To start a new topic under Squeak - Beginners, email 
> ml-node+s1294792n107673...@n4.nabble.com 
> To unsubscribe from Squeak - Beginners, click here.
> NAML





--
View this message in context: 
http://forum.world.st/mix-ins-tp4909171p4909203.html
Sent from the Squeak - Beginners mailing list archive at Nabble.com.___
Beginners mailing list
Beginners@lists.squeakfoundation.org
http://lists.squeakfoundation.org/mailman/listinfo/beginners


Re: [Newbies] Re: mix ins

2016-08-02 Thread Bert Freudenberg
On Tue, Aug 2, 2016 at 5:39 PM, Joseph Alotta 
wrote:

>
> > On Aug 2, 2016, at 9:38 AM, Bert Freudenberg [via Smalltalk] <[hidden
> email] > wrote:
> >
> > Thirdly, to keep these "extension methods" in your own package, put them
> in a method category that starts with an asterisk followed by your package
> name. That is, if your Monticello package is named "Foo-Bar", then put your
> "mix in" Array methods into the category "*foo-bar" which will mark them as
> belonging to your package, not the package the Array class is in. The
> extension methods will be stored and loaded with your package.
>
> Bert,
>
> I am not sure how to do this.  My project is called Books.
>

I meant a method category (a.k.a. protocol). Right-click in Array's method
categories list and add a new category named *books. Then select it and put
your methods there. You can also use drag-and-drop to move a method to the
right category.

[image: Inline image 1]

- Bert -
___
Beginners mailing list
Beginners@lists.squeakfoundation.org
http://lists.squeakfoundation.org/mailman/listinfo/beginners


Re: [Newbies] Re: mix ins

2016-08-02 Thread Bert Freudenberg
On Tue, Aug 2, 2016 at 5:48 PM, Joseph Alotta 
wrote:

> Bert,
>
> I don’t have these methods.  I get an error.  See attached:
>


Are you using Squeak 5.0?

- Bert -
___
Beginners mailing list
Beginners@lists.squeakfoundation.org
http://lists.squeakfoundation.org/mailman/listinfo/beginners


[Newbies] Re: mix ins

2016-08-02 Thread Joseph Alotta
Bert,

I don’t have these methods.  I get an error.  See attached:

Sincerely,

Joe.


> On Aug 2, 2016, at 9:38 AM, Bert Freudenberg [via Smalltalk] 
>  wrote:
> 
> Firstly, these methods exist already.  They are defined in 
> SequencableCollection, a  superclass of Array, so Array inherits them:
> 
> #('abc' 'def') join => 'abcdef'
> 
> #('abc' 'def') joinSeparatedBy: '/' => 'abc/def'
> 




Screen Shot 2016-08-02 at 11.29.27 AM.png (68K) 





--
View this message in context: 
http://forum.world.st/mix-ins-tp4909171p4909182.html
Sent from the Squeak - Beginners mailing list archive at Nabble.com.___
Beginners mailing list
Beginners@lists.squeakfoundation.org
http://lists.squeakfoundation.org/mailman/listinfo/beginners


[Newbies] Re: mix ins

2016-08-02 Thread Joseph Alotta

> On Aug 2, 2016, at 9:38 AM, Bert Freudenberg [via Smalltalk] 
>  wrote:
> 
> Thirdly, to keep these "extension methods" in your own package, put them in a 
> method category that starts with an asterisk followed by your package name. 
> That is, if your Monticello package is named "Foo-Bar", then put your "mix 
> in" Array methods into the category "*foo-bar" which will mark them as 
> belonging to your package, not the package the Array class is in. The 
> extension methods will be stored and loaded with your package.

Bert, 

I am not sure how to do this.  My project is called Books.  Is this what you 
mean?

Object subclass: #Array
instanceVariableNames: ''
classVariableNames: ''
poolDictionaries: ''
category: ‘*Books’


Sincerely,

Joe.


PS.  Thanks for the bit about the join methods and the changes.  :-)






--
View this message in context: 
http://forum.world.st/mix-ins-tp4909171p4909179.html
Sent from the Squeak - Beginners mailing list archive at Nabble.com.___
Beginners mailing list
Beginners@lists.squeakfoundation.org
http://lists.squeakfoundation.org/mailman/listinfo/beginners


Re: [Newbies] mix ins

2016-08-02 Thread Bert Freudenberg
On Tue, Aug 2, 2016 at 5:03 PM, Joseph Alotta 
wrote:

> Greetings,
>
> I want to add a method to the Array class.
>
> #(‘abc’ ‘def’) join =>  ‘abcdef’
>
> #(‘abc’ ‘def’) join: $/ => ‘abc/def’
>
> I am afraid that if I add it to Array directly, it will get lost in a new
> update.  I want to keep it in my project area.
>
> In ruby, this is called a “mix in”.
>
> How can I do this?
>

Firstly, these methods exist already.  They are defined in
SequencableCollection, a  superclass of Array, so Array inherits them:

#('abc' 'def') join => 'abcdef'

#('abc' 'def') joinSeparatedBy: '/' => 'abc/def'

Secondly, if you wanted to add these (or other methods), they would not be
lost by updating. That is, unless the update specifically includes a method
of the same name in the same class. Updating only adds and removes methods,
it doesn't "reset" the whole class.

Thirdly, to keep these "extension methods" in your own package, put them in
a method category that starts with an asterisk followed by your package
name. That is, if your Monticello package is named "Foo-Bar", then put your
"mix in" Array methods into the category "*foo-bar" which will mark them as
belonging to your package, not the package the Array class is in. The
extension methods will be stored and loaded with your package.

Have fun!

- Bert -
___
Beginners mailing list
Beginners@lists.squeakfoundation.org
http://lists.squeakfoundation.org/mailman/listinfo/beginners


[Newbies] mix ins

2016-08-02 Thread Joseph Alotta
Greetings,

I want to add a method to the Array class.

#(‘abc’ ‘def’) join =>  ‘abcdef’

#(‘abc’ ‘def’) join: $/ => ‘abc/def’

I am afraid that if I add it to Array directly, it will get lost in a new 
update.  I want to keep it in my project area.

In ruby, this is called a “mix in”.

How can I do this?

Sincerely,

Joe.



___
Beginners mailing list
Beginners@lists.squeakfoundation.org
http://lists.squeakfoundation.org/mailman/listinfo/beginners