2
A
답변
7
아니다 let f() = ...
~ let f = fun() -> ...
이면 a
의 선언을 f
의 정의 안에 넣을 수 있지만 functio 시작 전에 엔. 그러면 a
을 f
에 로컬로 유지하면서 기능을 a
이상으로 닫을 수 있습니다. 이 문제는 변경 가능한 변수를 닫을 수 없기 때문에 대신 참조를 사용해야합니다.
let f =
let a = ref 0
fun() ->
....
+0
완벽. 감사. –
4
간단한 아날로그 기능 전에하자를 넣어하는 것입니다
let mutable static a = 0
let f() =
당신이 정말로 당신이 부모 모듈의 전체 일을 싸는 수있는 변수를 숨기고 싶어합니다.
그렇지 않으면 시퀀스 표현식은 함수에서 변수를 기억할 수 있지만 상당히 중요한 변화입니다.
일부 다른 아이디어 - 클래스 안에 숨기기 :
type t() =
static let mutable t = 1
static member f() = 1
또는 모듈 방식의 모듈
module t =
let mutable private t = 1
let f() = 1
를, F는 볼 수 있지만, desugar 경우 t는
+0
sepp2k에서 변형 된 것보다 조금 더 복잡합니다. 도와 줘서 고마워. –
관련 문제
- 1. 정적 변수와 extern in plain C
- 2. Actionscript3 함수 내의 정적 변수
- 3. 정적 변수와 정적 속성 비교
- 4. 정적 변수와 멀티 스레딩
- 5. C#에서 F # 함수 호출
- 6. 정적 변수와 정적 메서드의 차이
- 7. Ada는 C/C++의 로컬 정적 변수와 동일합니다.
- 8. .Net 함수 호출 (C# F #) VS C++
- 9. 함수 내의 임의의 숫자 C++
- 10. F # 및 lisp와 같은 적용 함수
- 11. 함수 변수와 함수 변수에 같은 이름이 있습니다. 액세스하는 방법?
- 12. 함수 내의 함수
- 13. 파이썬 정적 변수와 메소드
- 14. 정적 변수와 외부 해결되지 않은
- 15. C++의 정적 변수와 C#의 차이점은 무엇입니까?
- 16. C++ : 구조체 내의 멤버 함수
- 17. Java의 정적 변수와 정적 변수의 차이점
- 18. 충돌하는 변수와 함수 이름
- 19. 함수 내의 javacript 함수
- 20. C# 변수와 같은 값 유형 속성 액세스
- 21. C++ : 네임 스페이스 내의 Extern C 함수
- 22. C++ 정적 로컬 함수 대 전역 함수
- 23. 매개 변수와 함수 대 함수 매개 변수로 함수 포인터
- 24. 여러 정적 클래스 멤버 함수 모두 같은 인수와 C++에서
- 25. 유형 변수와 함수 유형의 동일성
- 26. Mathematica의 함수 내의 루프
- 27. System.Net.Http.MultipartFormDataContent의 "curl -F"매개 변수와 동일합니까?
- 28. C++ 정적 라이브러리의 내보내기 함수
- 29. C++ 정적 함수 포인터 호출
- 30. C++의 정적 멤버 함수
함수 외부에서이 변수에 액세스해야합니까? 정적 수정 자 (static modifier)는 무엇입니까? – Petr
@ Petr No. 외부 액세스 권한이 없습니다. 나는 그것이 "기능적인 방법"이 아니라는 것을 안다. 함수는 한 번만 호출해야합니다. 그 이유는 관심이 있습니다. –