Fragments (1)

Cliquez sur l’image pour agrandir

Enthousiasmé par cette idée géniale (Pharo Script of the Day), fournir des scripts simples pour montrer rapidement certains aspects de Pharo Smalltalk, j’ai décidé de reprendre l’idée et de, moi aussi, vous offrir quelques fragments de code Smalltalk.

Voici donc le premier de ces scripts, fragments de code.

Une idée toute simple qui vous permet d’itérer sur les éléments d’une collection avec une probabilité d’évaluer le block fourni.  C’est particulièrement utile si vous avez à écrire du code de simulation!

Vous n’avez qu’à implémenter la méthode qui suit dans la classe SequenceableCollection.


sometimes: aNumber do: aBlock 
	| rng |
	
	(aNumber between: 0 and: 1) 
            ifFalse: [self error: 'Argument <aNumber> must be between 0 and 1!'].
	rng := Random new.
	self do: [:each | (rng next < aNumber) ifTrue: [aBlock value: each]] 


 

 

Publicités

Répondre

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion /  Changer )

Photo Google

Vous commentez à l'aide de votre compte Google. Déconnexion /  Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion /  Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion /  Changer )

Connexion à %s

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur la façon dont les données de vos commentaires sont traitées.