개발 프로세스가 매우 대화식 인 선택 (선택 선택, 수정, 선택, 실행 선택, 수정 등)이있는 Matlab 및 R 백그라운드에서 나오는 F #이이 스타일을 처리하는 방법을 파악하려고합니다. 과학 응용에서 매우 중요한 것처럼 보이는 개발의 다음은 F #을 처음 접하는 누군가에게 즉시 들러 오는 몇 가지 사항입니다.F # 대화식 개발
여러 줄을 선택하면 한 번에 한 줄씩 다른 결과가 나타납니다.
int -> int -> int
첫 줄 결과를 선택하는 반면let add x y = x + y add 4.1 2.3
float -> float -> float
양쪽 라인의 결과를 선택하는 단계를 포함한다. 더 일반적으로, matlab/R 사용자는 각 명령문이 끝난 후에 결과를 출력하는 데 사용됩니다.그림자 복사가 부담이 될 수 있습니다.
이 대화식으로 반복해서 실행하면 2GB 파일이 섀도 복사되므로 메모리가 부족해질 수 있습니다. 파일을 변경할 수있게 만드는 것은 프로그램의 마지막 실행이 절대로 변경하지 않기 때문에 적절한 해결책처럼 보이지 않습니다. 이러한 문제를 감안할 때
, 그것은 fsi.exe
기반 시스템은 MATLAB/R 스타일의 대화 형 개발을 지원하는 것은 불가능하다?
[편집 : 나는 약 2 마 개체는 즉시이 그림자대로 삭제 표시 얻을 추측 오전] FSI에서 # 1
으로
나는 Matlab/R 스타일을 열었습니다. 말하자면, csv 파일을 열어 큰 배열/행렬에 넣습니다. 내 걱정은 그 다음에 대화 형 개발 스타일에서 발생하는 코드를 다시 선택하여 실행하면 두 개의 큰 행렬이 생기고 그 중 하나는 섀도 복사 된 것입니다. 나 맞아? – Tristan
@Tristan : .Net 가비지 수집은 참조 할 때 여분의 "쉐도우 복사본"을 제거해야합니다. 원래 게시물은 당신이 시도한 것처럼 들리며 문제였습니다. 이제는 이것이 문제가 될 것이라고 생각하는 것 같습니다. 그거 정리 해줄 수 있니? –
@ 존 : 네, 추측하고 있습니다. 나는 "let = x 1 ;; x = 2 ;;''는 범위를 벗어나는'x '와 같습니다. ''let x = 2''를 수행하자마자 x = 1 객체는 삭제 표시가됩니까? 크리스 스미스 (Chris Smith)의 책에서는 이것을 섀도 잉 (shadowing)이라고 부른다. – Tristan