Dose anyone can tell me what dose FRotationMatrix(Rotation).GetScaledAxis(EAxis::Y) do?

When I learn the example about first person shooter game at A new, community-hosted Unreal Engine Wiki - Announcements - Epic Developer Community Forums

I got question,I know UInputComponent dispose of input events,I just need bind input event and function like this:
InputComponent->BindAxis(“MoveRight”, this, &AFPSCharacter::MoveRight);

but I don’t konw what dose the following code do:

void AFPSCharacter::MoveRight(float Value)
{
	if ((Controller != NULL) && (Value != 0.0f))
	{
		// find out which way is right
		const FRotator Rotation = Controller->GetControlRotation();
		const FVector Direction = FRotationMatrix(Rotation).GetScaledAxis(EAxis::Y);
		// add movement in that direction
		AddMovementInput(Direction, Value);
	}
}

I know first, I should get controller rotation,then add an offset to the right deriction,but when open source code,I can’t understand the function GetScaledAxis() mean.

The following is all my guess:

FRotationMatrix(Rotation) will get a Matrix from Rotation,this matrix can transform actor to the rotation. But how can I understand GetScaledAxis(…) ? It just return the component of Y axis. what dose this mean,it can represent the right deriction?
Oh ! This question confuse me so long,I hope someone can help me !

thanks!

I looked up the code for it, it seems to return a vector with specific elements from the matrix.
You can probably just use

 const FVector Direction = GetActorRightVector();

For the same thing.

As for the matrix, here is the internals defined in UnrealMatrix.h:

	switch ( InAxis )
	{
	case EAxis::X:
		return FVector(M[0][0], M[0][1], M[0][2]);

	case EAxis::Y:
		return FVector(M[1][0], M[1][1], M[1][2]);

	case EAxis::Z:
		return FVector(M[2][0], M[2][1], M[2][2]);

	default:
		ensure(0);
		return FVector::ZeroVector;
	}

Thanks zacharymwade !