caps ← {ack ign←'' ''} ##.von chars ⍝ Capitalise first letters of names. Suggested by Dick Bowman, this function by Veli-Matti Jantunen produces appro- priate capitalisation of a name. The function may be made to capitalise a "root" name following a prefix such as Mc or Mac, but leave separators such as le and von in lower case. The optional left argument is a 2-item, depth-3 vector of prefixes to acknowl- edge (ack) and ignore (ign). The argument is permissive in accepting less deeply nested vectors: Depth-3 vector general case: · · · · (ack ack ...) (ign ign ...) Depth-2 vector 'one' 'two' ... is intepreted: (one two ...) ( ) Depth-1 vector 'one' is interpreted: · · (one ) ( ) Missing left argument: ( ) ( ) Examples: titles←'margaretha von bahr' 'ahti von toilet' 'leonardo da vinci' 'william of orange' 'llywelyn ap gruffudd' 'guzman el bueno' 'winnie the pooh' ↑von¨titles ⍝ default capitalisation. Margaretha von Bahr Ahti von Toilet Leonardo da Vinci William of Orange Llywelyn ap Gruffudd Guzman el Bueno Winnie the Pooh von'd''annunzio t''haarlem' ⍝ caps after "'". d'Annunzio t'Haarlem von'åkerlund æsop' ⍝ national language caps. Åkerlund Æsop 'Mc'von'nasty norman mctavish o''reilly' ⍝ acknowledge "Mc" prefix. Nasty Norman McTavish O'Reilly von 'Lorenzo de'' Medici Mohammed el-Gerousch c/o al-Ahram' Lorenzo de' Medici Mohammed el-Gerousch c/o al-Ahram names←'mcgryver macintosh macho dicaprio dickens' von names ⍝ default caps, Mcgryver Macintosh Macho Dicaprio Dickens 'mc' 'mac' 'di' von names ⍝ ... with Mc, Mac, Di, McGryver MacIntosh MacHo DiCaprio DiCkens ('Mc' 'Mac' 'Di')('Mach' 'Dick') von names ⍝ ... except MacH, DiCk. McGryver MacIntosh Macho DiCaprio Dickens See also: lcase ucase words Back to: contents Back to: Workspaces