DOCERR: RAT() Command Doesn't Count from Rightmost Character

ID: Q139095

2.5x 2.60 2.60a 3.00 | 2.00 2.5x 2.60 2.60a | 2.5x 2.60a | 2.60

WINDOWS              | MS-DOS               | MACINTOSH  | UNIX
kbprg kbdocerr

The information in this article applies to:

  • Microsoft Visual FoxPro for Windows, version 3.0
  • Microsoft FoxPro for Windows, versions 2.5x, 2.6, 2.6a
  • Microsoft FoxPro for MS-DOS, versions 2.0, 2.5x, 2.6, 2.6a
  • Microsoft FoxPro for Macintosh, versions 2.5x, 2.6a
  • Microsoft FoxPro for UNIX, version 2.6

SUMMARY

The RAT() Command is described as follows in the Language Reference:

   Returns the beginning numeric position of the first occurrence of one
   character expression or memo field within another character expression
   or memo field, counting from the rightmost character.

This is misleading.

MORE INFORMATION

This description leads you to believe that the number being returned is the character position counted from the right and moving left. This is an incorrect assumption. The number returned is the character position counting from the left and moving right but the RAT() Command starts its search from the right and moves left which is the opposite of the AT() Command. For example:

   Store 'abracadabr' to string
   ?RAT('a',string)    && Returns 8, not 3
   ?RAT('a',string,3)  && Returns 4, not 7

Additional reference words: 3.00 VFoxWin FoxWin FoxDos FoxMac FoxUnix 2.00 2.50 2.50a 2.50b 2.50c 2.60 2.60a KBCategory: kbprg kbdocerr KBSubcategory: FxotherGeneral
Keywords          : FxotherGeneral 
Version           : 2.5x 2.60 2.60a 3.00 | 2.00 2.5x
Platform          : MACINTOSH MS-DOS UNIX WINDOWS


Last Reviewed: November 13, 1995
© 2000 Microsoft Corporation. All rights reserved. Terms of Use.