[Boo] How does raycast know which hit to use?

According to the reference Unity - Scripting API: Physics.Raycast

hitInfo 	If true is returned, hitInfo will contain more information about 
            where the collider was hit (See Also: RaycastHit).

import UnityEngine
import System.Collections

public class Example(MonoBehaviour):

	def Update() as void:
		hit as RaycastHit
		if Physics.Raycast(transform.position, -Vector3.up, , 100.0F):
			distanceToGround as float = hit.distance

in this example, how does the Raycast method know which variable to set for RaycastHit? in js and c#, the variable is passed to the function. However, in this example, it seemed that the function knows by magic? Does it just set the value of any/all RaycastHit object in local scope?

What if i had multiple RaycastHit’s?

In order to get RaycastHit info out of the Raycast() you have to use a version of Raycast that takes a RaycastHit as one of the parameters. From the link in your Question, look at the second Raycast() signature on the page:

static def Raycast(origin as Vector3, direction as Vector3, hitInfo as RaycastHit, distance as float = Mathf.Infinity, layerMask as int = DefaultRaycastLayers) as bool

Given the parameters you are already using, this should be the one you use.