문제

마지막에 CSV를 뱉어내는 데이터 조작 코드가 있습니다.

모든 곳에서 측정 단위를 추가하기 위해 업그레이드를 시작했지만 이제 CSV 기능에 문제가 있습니다.

val WriteCSV : string -> 'a list array -> 'b list -> string -> unit

(매개 변수는 파일 이름, 열 배열, 열 헤더, 분리기입니다)

내가 이전에 [| s; x; y |]를 writecsv로 보냈는지, 나는 [| skm; xmm; ymm |].

일반적으로 측정 단위를 제거하기위한 함수를 작성하려고했지만 작동하지 않습니다.

let removeUnit (n:float<_>) = n/1.0<_>

내 질문은 다음과 같습니다.

  • 왜 작동하지 않습니까?
  • 작동하도록 만들 수 있습니까?
  • 이 특정 문제를 해결하는 또 다른 방법이 있습니까?
도움이 되었습니까?

해결책

내가 당신의 문제를 제대로 얻었다면, "순수한"플로트에 캐스팅하면 장치가 제거됩니다. 예를 들어:

[<Measure>] type m
[<Measure>] type km

let removeUnit (x:float<_>) =
    float x

let foo = removeUnit 2.6<m>
let foo2 = removeUnit 2.1<km>

val removeUnit : float < 'u> -> float

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top