Tôi đã cố gắng tìm hiểu tôi một số F # bằng cách xem xét các giải pháp AdventOfCode năm qua. Tôi đã xem qua neat peice of code này, mà tôi không thể phân tích ở tất cả:Gỡ lỗi Seq.sumBy
i 1|>Seq.sumBy(" (".IndexOf)
Lưu ý, tôi tin rằng tôi hiểu được những dòng trước đó (trong liên kết):
let i n=System.IO.File.ReadAllText(sprintf "%s/input/input%d.txt"__SOURCE_DIRECTORY__ n)
nào tạo một hàm i
mà phải mất một integer n
và đọc tệp inputN.txt và trả về tệp dưới dạng chuỗi. Do đó, i 1
trả lại input1.txt
làm chuỗi.
Sau đó |>
chỉ là đường ống chuỗi (hoặc mảng các ký tự?) Là param đầu tiên chức năng tiếp theo, đó là Seq.sumBy
Nhưng sau đó mọi thứ bắt đầu phá vỡ ...
sumBy dường như thẳng chuyển tiếp đủ:
Trả về tổng các kết quả được tạo bằng cách áp dụng hàm cho từng phần tử trong danh sách.
Nhưng IndexOf
của chuỗi " ("
đã khiến tôi bối rối.
Bây giờ, tôi không thực sự muốn bất kỳ loài cá nào ở đây, điều tôi muốn biết là đây. Là một newbie cho ngôn ngữ nước ngoài này, khi tôi học cách làm việc nhiều bit hơn của F #, làm thế nào tôi có thể lấy đoạn mã này và phân tích nó thành những phần nhỏ hơn để kiểm tra nó để tìm ra những gì đang xảy ra? Đó là lái xe cho tôi hạt mà tôi có giải pháp, có google/như vậy, và tôi vẫn không thể hiểu được mã này.
Ai đó có thể chỉ cho tôi một số đoạn trích nhỏ hơn để tôi có thể tự mình khám phá câu trả lời không?
tôi ban đầu chấp nhận câu trả lời Reed, mà đã giúp tôi vô cùng. Nhưng câu trả lời của Mark đánh vào phần "giúp tôi gỡ rối" một cách tuyệt vời với các ví dụ mô tả của ông trong FSI. Cả hai đều tuyệt vời. Và những gì một cộng đồng F # tuyệt vời để giúp tôi. Thật thú vị khi bỏ đi một tương tác muốn nhiều hơn nữa! Công việc tuyệt vời cho tất cả mọi người trong cộng đồng này. Cảm ơn bạn! –