กลับไปหน้าบทความ

อ่าน 2 นาที

สตรีม (ประเภทข้อมูลนามธรรม)

ใน ทฤษฎีประเภท และ การเขียนโปรแกรมเชิงฟังก์ชัน สตรี ม เป็นอนาล็อกของ ลิสต์ ที่อาจไม่มีที่สิ้นสุด ซึ่งกำหนดโดย นิยามการเหนี่ยวนำร่วม : [ 1 ] [ 2 ]

สตรีม (ประเภทข้อมูลนามธรรม)

ในทฤษฎีประเภทและการเขียนโปรแกรมเชิงฟังก์ชันสตรีเป็นอนาล็อกของลิสต์ ที่อาจไม่มีที่สิ้นสุด ซึ่งกำหนดโดยนิยามการเหนี่ยวนำร่วม : [ 1 ] [ 2 ]

สตรีมข้อมูลα = ไม่มี| Cons α ( สตรีมα )

การสร้างและการประมวลผลด้วยสตรีมนั้นจำเป็นต้อง มี การประเมินแบบเลซี่ (lazy evaluation ) ไม่ว่าจะโดยปริยายในภาษาที่ประเมินแบบเลซี่ หรือโดยการสร้างและบังคับใช้ธังค์ (thunks ) ในภาษาที่ประเมินแบบเอียร์ (eager evaluation) ใน ภาษาแบบโททอล ( total languages ) ธังค์จะต้องถูกกำหนดเป็นโคดาต้า (codata)และสามารถวนซ้ำได้โดยใช้คอร์เคิร์ชชัน (corecursion ) (แบบมีเงื่อนไข)

แผนภาพ UML ของแพ็กเกจแสดงลำดับชั้นของสตรีมใน .NET

Javaมี อินเทอร์เฟ ซ Streamภายใต้เนมสเปซ java.util.stream

JavaScriptมีอินเทอร์เฟซReadableStream , WritableStreamและTransformStream [ 3 ]

Pythonมี คลาส StreamReaderและStreamWriterในโมดูลasyncio [ 4 ]

.NETมีคลาสแบบนามธรรมStream [ 5 ] ซึ่งถูกนำไปใช้โดยคลาสต่างๆ เช่นFileStreamและMemoryStream [ 6 ]

ในRustโครงสร้างสามารถใช้งานคุณสมบัติRead ได้ [ 7 ]นอกจากนี้ยังมี โครงสร้าง Cursorที่ห่อหุ้มบัฟเฟอร์ในหน่วยความจำ[ 8 ]

ดูเพิ่มเติม

ดึงข้อมูลมาจาก " https://en.wikipedia.org/w/index.php?title=Stream_(abstract_data_type)&oldid=1360739285 "

สรุปเนื้อหา

ข้อมูลสำคัญจากบทความ

ข้อมูลสำคัญเกี่ยวกับ สตรีม (ประเภทข้อมูลนามธรรม)

ใน ทฤษฎีประเภท และ การเขียนโปรแกรมเชิงฟังก์ชัน สตรี ม เป็นอนาล็อกของ ลิสต์ ที่อาจไม่มีที่สิ้นสุด ซึ่งกำหนดโดย นิยามการเหนี่ยวนำร่วม : [ 1 ] [ 2 ]

ดูเพิ่มเติม

การเหนี่ยวนำร่วม ดึงข้อมูลมาจาก " https://en.wikipedia.org/w/index.php?title=Stream_(abstract_data_type)&oldid=1360739285 "