# Backwards ( _Field )

return a string backwards (mirror writing)

 Alexander Baier FM Tutorial http://www.fm-tutorial.de

Sample input:
Backwards ( "Hello" )

Backwards ( "12345" )
Sample output:
olleH

54321

Function definition: (Copy & paste into FileMaker's Edit Custom Function window)

This recursive function returns any string backwards.

 Bart, Vero BeachMay 23, 2013 I guess this CF begs the question, "why?" Just curious. :-)
 Alexander Baier, GermanyMay 23, 2013 - Calculations of checksums - mathematical operations or mathematical curiosities e.g ( 731 - 137 = 594 + 495 = 1089 this algorithm is valid for three-digit numbers (n>m>p)) or simply for mischief :-)
 Daniele Raybaudi, ACIMay 27, 2013 concise mode: If ( Length ( _Field ) ; Backwards ( Right ( _Field ; Length ( _Field ) - 1 ) ) ) & Left ( _Field ; 1 )
 Vinny, Somerset, NJ USAMay 31, 2013 Don't you mean "feihcsim"? :)
 John SegersJun 10, 2015 Beautiful function very usefull to me. I am not at all stupid, but I could never make this one myself. Can somone please explain to me why it's working? THX a lot
 Justin, Salem, OregonJun 17, 2015 Just found this function and it was exactly what I was looking for. As far as 'why'? It worked wonders for my need to reverse a string of characters so that I could feed that into the Code() function (which reverses the characters itself in its output). I needed those code points to be in the proper word order, not the reversed Code() output order. It works by passing in an ever diminishing right-hand list of characters to itself, and then returns the left hand side of things once it reaches the end. So say we called Backwards ("abc"). 1) Backwards ("abc") => _field = "abc" 1A) Length > 0, so call Backwards ("bc") & "a" 2) Backwards ("bc") => _field = "bc" 2A) Length > 0, so call Backwards ("c") & "b" 3) Backwards ("c") => _field = "c" 3A) Length > 0, so call Backwards ("") & "c" 4) Backwards ("") => _field = "" 4A) Length NOT >0, so return Left("") (which is empty) 4A returns ("") to 3A => "" & "c" = "c" ...which returns "c" to 2A => "c" & "b" = "cb" ...which returns "cb" to 1A => "cb" & "a" = "cba" I think the calculation could be modified a bit, but haven't tested anything. It works as it is. It isn't Tail recursion, so you wouldn't want to pass strings longer than 10,000 characters to it.

Note: these functions are not guaranteed or supported by BrianDunning.com. Please contact the individual developer with any questions or problems.

# Support this website.

This library has been a free commmunity resource for FileMaker users and developers for 16 years. It receives no funding and has no advertisements. If it has helped you out, I'd really appreciate it if you could contribute whatever you think it's worth: