ฟังก์ชั่นเวลามีอยู่ในการตั้งโปรแกรมการทำงานอย่างไร
ฉันต้องยอมรับว่าฉันไม่รู้เกี่ยวกับการเขียนโปรแกรมฟังก์ชั่นมากนัก ฉันอ่านเกี่ยวกับมันจากที่นี่และที่นั่นและได้รู้ว่าในการเขียนโปรแกรมเชิงฟังก์ชันฟังก์ชั่นจะคืนค่าเอาต์พุตเดียวกันสำหรับอินพุตเดียวกันไม่ว่าจะเรียกใช้ฟังก์ชันกี่ครั้งก็ตาม มันเหมือนกับฟังก์ชันทางคณิตศาสตร์ที่ประเมินผลลัพธ์เดียวกันสำหรับค่าเดียวกันของพารามิเตอร์อินพุตที่เกี่ยวข้องในการแสดงออกของฟังก์ชัน ตัวอย่างเช่นพิจารณาสิ่งนี้: f(x,y) = x*x + y; // It is a mathematical function ไม่ว่าคุณจะใช้ไปกี่ครั้งf(10,4)ก็ตามคุณค่าของมันจะยังคงอยู่ตลอด104ไป ดังนั้นทุกที่ที่คุณเขียนf(10,4)คุณสามารถแทนที่ด้วย104โดยไม่ต้องเปลี่ยนค่าของการแสดงออกทั้งหมด คุณสมบัตินี้เรียกว่าการอ้างอิงโปร่งใสของการแสดงออก ตามที่ Wikipedia พูดว่า ( ลิงค์ ) ในทางกลับกันในฟังก์ชั่นรหัสค่าเอาท์พุทของฟังก์ชั่นขึ้นอยู่กับอาร์กิวเมนต์ที่ใส่เข้าไปในฟังก์ชั่นเท่านั้นดังนั้นการเรียกใช้ฟังก์ชัน f สองครั้งด้วยค่าเดียวกันสำหรับอาร์กิวเมนต์ x จะให้ผลลัพธ์ที่เหมือนกัน f (x) ทั้งสองครั้ง ฟังก์ชั่นเวลา (ซึ่งจะคืนค่าเวลาปัจจุบัน ) สามารถมีอยู่ในการตั้งโปรแกรมการทำงานหรือไม่ ถ้าใช่แล้วมันจะมีอยู่ได้อย่างไร? มันไม่ได้ละเมิดหลักการของฟังก์ชั่นการเขียนโปรแกรมหรือไม่? มันละเมิดความโปร่งใสในการอ้างอิงซึ่งเป็นหนึ่งในคุณสมบัติของการเขียนโปรแกรมการทำงาน (ถ้าฉันเข้าใจถูกต้อง) หรือถ้าไม่, แล้วเราจะรู้เวลาปัจจุบันในการโปรแกรมเชิงฟังก์ชันได้อย่างไร?