Đây là một câu hỏi khá đơn giản, và tôi chỉ muốn kiểm tra xem những gì tôi đang làm và cách tôi diễn giải F # có ý nghĩa như thế nào. Nếu tôi có tuyên bốF # Chức năng so với giá trị
let printRandom =
x = MyApplication.getRandom()
printfn "%d" x
x
Thay vì tạo printRandom
như một chức năng, F # chạy nó một lần và sau đó gán cho nó một giá trị. Vì vậy, bây giờ, khi tôi gọi printRandom, thay vì nhận được một giá trị ngẫu nhiên mới và in nó, tôi chỉ đơn giản nhận được bất cứ điều gì đã được trả lại lần đầu tiên. Tôi có thể giải quyết vấn đề này để xác định nó như sau:
let printRandom() =
x = MyApplication.getRandom()
printfn "%d" x
x
Đây có phải là cách thích hợp để phân biệt sự khác biệt này giữa các hàm và giá trị tham số không? Điều này có vẻ ít hơn lý tưởng với tôi. Liệu nó có hậu quả trong currying, thành phần, vv?
Lưu ý rằng bạn gần như chắc chắn muốn thêm 'let' trước lần xuất hiện đầu tiên của' x' - nếu không bạn đang thực hiện so sánh và sau đó vứt bỏ kết quả. – kvb
Câu hỏi hay, có vấn đề * chính xác * giống nhau. Thật không may tôi thấy điều này sau khi tôi phát hiện ra giải pháp. – ses011