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



The information in this article applies to:

  • Microsoft Visual FoxPro for Windows 3.0
  • Microsoft FoxPro for Windows 2.6
  • Microsoft FoxPro for Windows 2.6a
  • Microsoft FoxPro for MS-DOS 2.0
  • Microsoft FoxPro for MS-DOS 2.6
  • Microsoft FoxPro for MS-DOS 2.6a
  • Microsoft FoxPro for Macintosh 2.6a
  • Microsoft FoxPro for UNIX 2.6

This article was previously published under Q139095

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
				

Modification Type:MajorLast Reviewed:12/3/2003
Keywords:KB139095