[squeak-dev] The Trunk: Kernel-ct.1295.mcz

commits at source.squeak.org commits at source.squeak.org
Wed Nov 4 10:40:26 UTC 2020


Marcel Taeumel uploaded a new version of Kernel to project The Trunk:
http://source.squeak.org/trunk/Kernel-ct.1295.mcz

==================== Summary ====================

Name: Kernel-ct.1295
Author: ct
Time: 24 January 2020, 5:20:51.814415 pm
UUID: 18ea3b5d-ee42-2944-9d01-aa48e43207a7
Ancestors: Kernel-nice.1292

Extends BlockClosure >> #whileNil: by returning the final non-nil value. Adds #whileNil analogous to #whileTrue and #whileFalse.

	[Project uiManager chooseFrom: #(foo bar) values: #(Foo Bar)] whileNil.

	[Project uiManager chooseFrom: #(foo bar) values: #(Foo Bar)] whileNil: [self inform: 'You have to decide!']

=============== Diff against Kernel-nice.1292 ===============

Item was added:
+ ----- Method: BlockClosure>>whileNil (in category 'controlling') -----
+ whileNil
+ 	"Unlike #whileTrue/False this is not compiled inline."
+ 	| result |
+ 	[(result := self value) isNil] whileTrue.
+ 	^ result
+ 	!

Item was changed:
  ----- Method: BlockClosure>>whileNil: (in category 'controlling') -----
  whileNil: aBlock 
  	"Unlike #whileTrue/False: this is not compiled inline."
+ 	| result |
+ 	[(result := self value) isNil] whileTrue: [aBlock value].
+ 	^ result
- 	^ [self value isNil] whileTrue: [aBlock value]
  	!



More information about the Squeak-dev mailing list