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

อ่าน 3 นาที

ช่วง (การเขียนโปรแกรมคอมพิวเตอร์)

ใน วิทยาการคอมพิวเตอร์ คำว่า " ช่วง" อาจหมายถึงสิ่งใดสิ่งหนึ่งในสามสิ่งนี้:

ช่วง (การเขียนโปรแกรมคอมพิวเตอร์)

ในวิทยาการคอมพิวเตอร์คำว่า " ช่วง"อาจหมายถึงสิ่งใดสิ่งหนึ่งในสามสิ่งนี้:

  1. ค่าที่เป็นไปได้ที่สามารถเก็บไว้ในตัวแปรได้
  2. ขอบเขตบนและขอบเขตล่างของอาร์เรย์
  3. ทางเลือกอื่นนอกเหนือจากตัววนซ้ำ (iterator )

ช่วงของตัวแปร

ช่วงของตัวแปรคือเซตของค่าที่เป็นไปได้ที่ตัวแปรนั้นสามารถเก็บได้ ในกรณีของจำนวนเต็ม นิยามของตัวแปรจะจำกัดอยู่เฉพาะจำนวนเต็มเท่านั้น และช่วงของตัวแปรจะครอบคลุมทุกจำนวนภายในช่วงนั้น (รวมถึงค่าสูงสุดและค่าต่ำสุด) ตัวอย่างเช่น ช่วงของ ตัวแปร จำนวนเต็ม16 บิตแบบมีเครื่องหมาย คือจำนวนเต็มทั้งหมดตั้งแต่ −32,768 ถึง +32,767

ช่วงของอาร์เรย์

เมื่ออาร์เรย์ถูกกำหนดดัชนีด้วยตัวเลข ช่วงของอาร์เรย์จะเป็นขอบเขตบนและล่างของอาร์เรย์ ขึ้นอยู่กับสภาพแวดล้อมหากโปรแกรมพยายามเข้าถึงองค์ประกอบในอาร์เรย์ที่อยู่นอกช่วง อาจเกิด คำเตือน ข้อผิดพลาดร้ายแรง หรือพฤติกรรมที่ไม่สามารถคาดเดาได้ ในบาง ภาษาโปรแกรมเช่น ภาษา Cอาร์เรย์จะมีขอบเขตล่างคงที่ (ศูนย์) และจะเก็บข้อมูลในแต่ละตำแหน่งจนถึงขอบเขตบน (ดังนั้นอาร์เรย์ที่มี 5 องค์ประกอบจะมีช่วงตั้งแต่ 0 ถึง 4) ในภาษาอื่นๆ เช่นPHPอาร์เรย์อาจมีช่องว่างที่ไม่มีการกำหนดองค์ประกอบ ดังนั้นอาร์เรย์ที่มีช่วงตั้งแต่ 0 ถึง 4 จะมี องค์ประกอบได้ สูงสุด 5 องค์ประกอบ (และต่ำสุด 2 องค์ประกอบ)

ช่วง (Range) เป็นทางเลือกแทนตัววนซ้ำ (Iterator)

ความหมายอีกประการหนึ่งของช่วงในวิทยาการคอมพิวเตอร์คือทางเลือกแทนตัววนซ้ำเมื่อใช้ในความหมายนี้ ช่วงจะถูกกำหนดเป็น "คู่ของตัววนซ้ำเริ่มต้น/สิ้นสุดที่บรรจุเข้าด้วยกัน" [ 1 ]มีการโต้แย้ง[ 1 ]ว่า "ช่วงเป็นนามธรรมที่เหนือกว่า" (เมื่อเทียบกับตัววนซ้ำ) ด้วยเหตุผลหลายประการ รวมถึงความปลอดภัยที่ดีกว่า

โดยเฉพาะอย่างยิ่ง ช่วงดังกล่าวได้รับการสนับสนุนในC++20 [ 2 ] ไลบรารี Boost C++ [ 3 ]และไลบรารีมาตรฐานD [ 4 ]

ช่วง (Range) ในฐานะชนิดข้อมูล

คลาสทั่วไปที่ใช้แทนช่วงข้อมูล ประกอบด้วยคุณสมบัติ start และคุณสมบัติ end

สามารถสร้างชนิดข้อมูลสำหรับช่วงได้โดยใช้เจเนริก

ตัวอย่างในภาษา C #

บันทึกสาธารณะช่วง< T > ( T เริ่มต้น, T สิ้นสุด) โดยที่T : IComparable ;

ตัวอย่างในภาษา Kotlin

คลาสข้อมูลRange < T : Comparable < T >> ( val start : T , val end : T )

ตัวอย่างในภาษา PHP

คลาสอ่านอย่างเดียวRange < T > { ฟังก์ชันสาธารณะ__construct ( public T $start , public T $end , ) {} }

ตัวอย่างในภาษา Python

จากdataclasses นำเข้าdataclass@dataclass class Range [ T ]: start : T end : T

Rustมีโครงสร้างช่วงในตัวในไลบรารีมาตรฐานstd::ops::Range[ 5 ] C ++ ก็ มีstd::rangesไลบรารีเช่นกันตั้งแต่C++ 20 [ 6 ]

ระยะการทำงานในฐานะผู้ปฏิบัติงาน

Rustมีตัวดำเนินการ ..และ..=

let heartwarming = "heartwarming!" . to_string (); let warm = & heartwarming [ 5 .. 9 ];

Zigยังมีตัวดำเนินการ .. อีกด้วย

// ในการวนซ้ำจำนวนเต็มที่ต่อเนื่องกัน ให้ใช้ไวยากรณ์ช่วงvar sum : usize = 0 ; for ( 0 .. 5 ) | i | { sum += i ; }

เช่นเดียวกับC # [ 7 ]

string [] items = [ " one " , " two" , "three" , "four" ]; string [] firstThreeItems = items [ 0..2 ];

F# , [ 8 ]

[ 1 .. 4 ] // ผลลัพธ์: [1; 2; 3; 4]

Kotlin , [ 9 ]

สำหรับ( i ใน1. . 5 ) พิมพ์( i )

และPerl [ 10 ]

สำหรับ( 1 .. 5 ) { พิมพ์}

PythonและPHPไม่มีตัวดำเนินการช่วง แต่มีrangeฟังก์ชัน[ 11 ] [ 12 ]

ดูเพิ่มเติม

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

สรุปเนื้อหา

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

ข้อมูลสำคัญเกี่ยวกับ ช่วง (การเขียนโปรแกรมคอมพิวเตอร์)

ใน วิทยาการคอมพิวเตอร์ คำว่า " ช่วง" อาจหมายถึงสิ่งใดสิ่งหนึ่งในสามสิ่งนี้:

ช่วงของตัวแปร

ช่วงของตัวแปรคือเซตของค่าที่เป็นไปได้ที่ตัวแปรนั้นสามารถเก็บได้ ในกรณีของจำนวนเต็ม นิยามของตัวแปรจะจำกัดอยู่เฉพาะจำนวนเต็มเท่านั้น และช่วงของตัวแปรจะครอบคลุมทุกจำนวนภายในช่วงนั้น (รวมถึงค่าสูงสุดและค่าต่ำสุด) ตัวอย่างเช่น ช่วงของ ตัวแปร จำนวนเต็ม 16 บิต...

ช่วงของอาร์เรย์

เมื่ออาร์เรย์ถูกกำหนดดัชนีด้วยตัวเลข ช่วงของอาร์เรย์จะเป็นขอบเขตบนและล่างของอาร์เรย์ ขึ้นอยู่กับสภาพแวดล้อมหากโปรแกรมพยายามเข้าถึงองค์ประกอบในอาร์เรย์ที่อยู่นอกช่วง อาจเกิด คำเตือน ข้อผิดพลาดร้ายแรง หรือพฤติกรรมที่ไม่สามารถคาดเดาได้ ในบาง ภาษาโปรแกรม เช่น...

ช่วง (Range) เป็นทางเลือกแทนตัววนซ้ำ (Iterator)

ความหมายอีกประการหนึ่งของ ช่วง ในวิทยาการคอมพิวเตอร์คือทางเลือกแทน ตัววนซ้ำ เมื่อใช้ในความหมายนี้ ช่วงจะถูกกำหนดเป็น "คู่ของตัววนซ้ำเริ่มต้น/สิ้นสุดที่บรรจุเข้าด้วยกัน" [ 1 ] มีการโต้แย้ง [ 1 ] ว่า "ช่วงเป็นนามธรรมที่เหนือกว่า" (เมื่อเทียบกับตัววนซ้ำ)...