xem xét F # mã này mà tính một yếu tố của một số:Làm cách nào để kiểm tra xem một chuỗi có trống trong F # không?
let n = 340339004337I
// A sequence of all factors:
let factors = seq { 1I .. n/2I} |> Seq.filter (fun x -> n % x = 0I)
// Pull off the first factor from the sequence:
let factor =
if factors = seq [] then
n
else
factors |> Seq.nth 0
Nói cách khác, nếu factors
là trống rỗng, sau đó trở về n
. Nếu không, hãy kéo phần tử đầu tiên ra khỏi factors
. Mục tiêu là tính đến tất cả các yếu tố giữa 1 và (n/2) và n chính nó kể từ 1 và n luôn là các yếu tố của n.
Bài kiểm tra factors = seq []
không hoạt động. Tôi đến cú pháp này bằng cách nhìn vào này:
> seq {1 .. 100} |> Seq.filter (fun x -> false) ;;
val it : seq<int> = seq []
Tuy nhiên, tôi không nghĩ rằng seq []
thực sự là một chuỗi rỗng:
> Seq.empty = seq [] ;;
val it : bool = false
Làm thế nào tôi có thể kiểm tra nếu một chuỗi rỗng?
Cảm ơn. Đây là câu trả lời đầu tiên trong một giây! – user392226