Giả sử tôi đã hai F # chức năng: let sq x = x*x
let tm = DateTime.Now
SQ Rõ ràng là tinh khiết ở chỗ nó sẽ luôn luôn trả về giá trị tương tự cho một đầu vào cho trước khi tm là không tinh khiết bở
Trong khi chơi đùa với D 2.0 tôi thấy vấn đề sau đây: Ví dụ 1: pure string[] run1()
{
string[] msg;
msg ~= "Test";
msg ~= "this.";
return msg;
}
này biên dịch và làm việc như m
TDPL, tr. 167: miễn là tình trạng có thể thay đổi trong một chức năng là hoàn toàn tạm (ví dụ, cấp phát trên stack) và tin (ví dụ, không được thông qua cùng bằng cách tham khảo các chức năng mà có thể