7
일리노이 지침 .tail
을보고 싶습니다. 그러나 필자가 작성한 꼬리 호출을 사용하는 간단한 재귀 함수는 루프에 최적화되어 있습니다. Reflector에서 루프가 어떻게 생겼는지 완전히 확신 할 수 없기 때문에 실제로 이것을 추측하고 있습니다. 나는 어떤 .tail
opcode도 볼 수 없다. 내 프로젝트 속성에서 "꼬리 호출 생성"을 선택했습니다. 또한 Reflector에서 Debug 및 Release 빌드를 모두 시도했습니다..tail IL 명령어를 생성하는 간단한 F # 코드는 무엇입니까?
내가 사용하는 코드 페이지 190, Programming F# by Chris Smith에서이다 :
let factorial x =
// Keep track of both x and an accumulator value (acc)
let rec tailRecursiveFactorial x acc =
if x <= 1 then
acc
else
tailRecursiveFactorial (x - 1) (acc * x)
tailRecursiveFactorial x 1
사람이 참으로 .tail
를 생성합니다 몇 가지 간단한 F # 코드를 제안 할 수 있습니다?
난 그냥 지금 확인했습니다. 예! .tail을 생성합니다. –