"if necessary" vs. "if need be" vs. "may be"


いやなブログ - 学校では教えてくれないバッドノウハウ英語 #3: if need be より。SqueakSmalltalk におけるメソッド名(セレクタとも言う)ではどうなっているのか調べてみました。


話題の if need be はありませんでしたが、if needed for がよく使われていました。if necessary は(比較的長めのメソッド名を是とする Smalltalk ではありますが…)やはりシマリのない感じがしますね。may be は意外と多かったのですが、なんとなく前二者とは異なるニュアンスで使われているような気もします。以下、結果。


(Symbol selectorsContaining: 'ifnece') size   " => 7 "
(Symbol selectorsContaining: 'ifnece') asArray
=> #(
      #addBlankIconsIfNecessary:
      #addFlexShellIfNecessary
      #updateIfNecessary
      #adjustWakeupTimesIfNecessary
      #resetWhoIfNecessary
      #resetHScrollRangeIfNecessary
      #promptForDefaultChangeSetDirectoryIfNecessary
    )
(Symbol selectorsContaining: 'ifneed') size   " => 14 "
(Symbol selectorsContaining: 'ifneed') asArray
=> #(
      #preFlushIfNeeded 
      #reserveUrlsIfNeeded 
      #nextPutValue:toStream:withShiftSequenceIfNeededForTextConverterState: 
      #colorMapIfNeededFrom:to: 
      #colormapIfNeededForDepth: 
      #emitSequenceToResetStateIfNeededOn: 
      #nextPutRightHalfValue:toStream:withShiftSequenceIfNeededForTextConverterState: 
      #colormapIfNeededFor: 
      #resetIfNeeded 
      #nextPutValue:toStream:withShiftSequenceIfNeededForLeadingChar: 
      #postFlushIfNeeded 
      #updateCodePaneIfNeeded 
      #emitSequenceToResetStateIfNeededOn:forState: 
      #updateIfNeeded:
    )
(Symbol selectorsContaining: 'maybe') size   " => 19 "
(Symbol selectorsContaining: 'maybe') asArray
=> #(
      #maybeJoinLinesFrom: 
      #maybeCollapse:with: 
      #maybeHideFlapOnMouseLeaveDragging 
      #maybeDismiss:with: 
      #maybeRelabel: 
      #maybeEmptyTrash 
      #maybeDoDup:with: 
      #maybeBeginReference: 
      #maybeAddCollapseItemTo: 
      #mayBeExtended 
      #maybeSetSelection 
      #maybeHideFlapOnMouseLeave 
      #MaybePutAnotherCategoryHere 
      #maybeDuplicateMorph 
      #maybeDuplicateMorph: 
      #maybeAddArrowsTo: 
      #maybeForkInterrupt 
      #maybeRemovePauseTickControls 
      #maybeReselectClass:selector:
    )