อาร์เรย์ Perl เป็นตัวแปรรายการที่เก็บค่าสเกลาร์ ตัวแปรสามารถมีได้หลายประเภท
ตัวแปรอาร์เรย์เริ่มต้นด้วย @ ในการเข้าถึงองค์ประกอบอาร์เรย์ให้ใช้รูปแบบ $ + ชื่อตัวแปร + [ค่าดัชนี] เพื่ออ่าน ตัวอย่างมีดังนี้:
ในโปรแกรม สัญลักษณ์ $ จะถูก Escape ด้วย ทำให้สามารถส่งออกได้ดังที่เป็นอยู่
$hits[0] = 25$hits[1] = 30$hits[2] = 40$names[0] = google$names[1] = codercto$names[2] = taobao
ตัวแปรอาร์เรย์เริ่มต้นด้วยสัญลักษณ์ @ และองค์ประกอบต่างๆ จะอยู่ในวงเล็บ คุณยังสามารถกำหนดอาร์เรย์ที่ขึ้นต้นด้วย qw ได้
@array = (1, 2, 'Hello');@array = qw/นี่คืออาร์เรย์/;
อาร์เรย์ที่สองใช้ตัวดำเนินการ qw// ซึ่งจะส่งคืนรายการสตริงที่มีองค์ประกอบอาร์เรย์คั่นด้วยช่องว่าง แน่นอน คุณยังสามารถใช้หลายบรรทัดเพื่อกำหนดอาร์เรย์ได้:
@days = qw/googletaobao...codercto/;
คุณยังสามารถกำหนดค่าให้กับอาร์เรย์ตามดัชนีได้ดังนี้:
$array[0] = 'วันจันทร์';...$array[6] = 'วันอาทิตย์';
ในการเข้าถึงองค์ประกอบอาร์เรย์ให้ใช้รูปแบบ $ + ชื่อตัวแปร + [ค่าดัชนี] เพื่ออ่าน ตัวอย่างมีดังนี้:
googletaobaocoderctocodercto
ค่าดัชนีอาร์เรย์เริ่มต้นจาก 0 นั่นคือ 0 คือองค์ประกอบแรก 1 คือองค์ประกอบที่สอง และอื่นๆ
จำนวนลบจะถูกอ่านจากทิศทางตรงกันข้าม -1 คือองค์ประกอบแรก -2 คือองค์ประกอบที่สอง
Perl จัดเตรียมรูปแบบอาร์เรย์ที่สามารถส่งออกตามลำดับได้ รูปแบบคือ ค่าเริ่มต้น + .. + ค่าสิ้นสุด ตัวอย่างมีดังนี้:
1 2 3 4 5 6 7 8 9 1010 11 12 13 14 15 16 17 18 19 20a bcdefghijklmnopqrstuv wxyz
ขนาดอาร์เรย์ถูกกำหนดโดยบริบทสเกลาร์ภายในอาร์เรย์ -
@array = (1,2,3);พิมพ์ "ขนาดอาร์เรย์: ",สเกลาร์ @array,"n";
ความยาวของอาเรย์จะส่งกลับขนาดทางกายภาพของอาเรย์ ไม่ใช่จำนวนองค์ประกอบ เราสามารถดูตัวอย่างต่อไปนี้:
ขนาดอาร์เรย์: 51 ดัชนีสูงสุด: 50
ดังที่เห็นได้จากเอาต์พุต มีองค์ประกอบอาเรย์เพียงสี่องค์ประกอบ แต่ขนาดอาเรย์คือ 51
Perl มีฟังก์ชันที่มีประโยชน์สำหรับการเพิ่มและลบองค์ประกอบอาร์เรย์
หากคุณไม่มีประสบการณ์การเขียนโปรแกรมมาก่อน คุณอาจถามว่าฟังก์ชันคืออะไร จริงๆ แล้ว งานพิมพ์ ที่เราใช้ก่อนหน้านี้เป็นฟังก์ชันเอาท์พุต
ตารางต่อไปนี้แสดงรายการฟังก์ชันการทำงานที่ใช้กันทั่วไปในอาร์เรย์:
หมายเลขซีเรียล | ประเภทและคำอธิบาย |
---|---|
1 | กด @ARRAY, LIST ใส่ค่าของรายการไว้ที่ส่วนท้ายของอาร์เรย์ |
2 | ป๊อป @ARRAY แสดงค่าสุดท้ายของอาร์เรย์แล้วส่งคืน |
3 | กะ @ARRAY แสดงค่าแรกของอาร์เรย์และส่งกลับค่านั้น ค่าดัชนีของอาร์เรย์ก็ลดลงหนึ่งเช่นกัน |
4 | ยกเลิกการเปลี่ยน @ARRAY, LIST วางรายการไว้ด้านหน้าอาร์เรย์และส่งกลับจำนวนองค์ประกอบในอาร์เรย์ใหม่ |
เราสามารถตัดอาร์เรย์และส่งคืนอาร์เรย์ใหม่ได้หลังจากการตัด:
เว่ยป๋อ คิวคิว เฟสบุ๊ค
ดัชนีอาร์เรย์จำเป็นต้องระบุค่าดัชนีที่ถูกต้อง ซึ่งสามารถเป็นตัวเลขบวกตามด้วยตัวเลขลบ แต่ละค่าดัชนีจะถูกคั่นด้วยเครื่องหมายจุลภาค
หากเป็นดัชนีต่อเนื่อง คุณสามารถใช้ .. เพื่อระบุช่วงที่ระบุได้:
เว่ยป๋อ คิวคิว เฟสบุ๊ค
ฟังก์ชัน splice() ใช้เพื่อแทนที่องค์ประกอบอาร์เรย์ในภาษา Perl รูปแบบไวยากรณ์จะเป็นดังนี้:
ประกบกัน @ARRAY, OFFSET [ , ความยาว [ , รายการ ] ]
คำอธิบายพารามิเตอร์:
@ARRAY: อาร์เรย์ที่จะถูกแทนที่
OFFSET: ตำแหน่งเริ่มต้น
ความยาว: จำนวนองค์ประกอบที่จะแทนที่
รายการ: รายการองค์ประกอบทดแทน
ตัวอย่างต่อไปนี้แทนที่ 5 องค์ประกอบในอาร์เรย์โดยเริ่มจากองค์ประกอบที่ 6:
ก่อนเปลี่ยน - 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 หลังเปลี่ยน - 1 2 3 4 5 21 22 23 24 25 11 12 13 14 15 16 17 18 19 20
หากต้องการแปลงสตริงเป็นอาร์เรย์ใน Perl ให้ใช้ฟังก์ชัน split() โดยมีรูปแบบดังนี้:
แยก [ รูปแบบ [ , EXPR [ , LIMIT ] ] ]
คำอธิบายพารามิเตอร์:
รูปแบบ: ตัวคั่น ค่าเริ่มต้นคือช่องว่าง
EXPR: ระบุจำนวนสตริง
LIMIT: หากระบุพารามิเตอร์นี้ จำนวนองค์ประกอบในอาร์เรย์จะถูกส่งกลับ
ocomweibo
ในภาษา Perl ฟังก์ชัน join() ใช้ในการแปลงอาร์เรย์เป็นสตริง โดยมีรูปแบบดังนี้:
เข้าร่วม EXPR, LIST
คำอธิบายพารามิเตอร์:
EXPR: ตัวเชื่อมต่อ
LIST: รายการหรืออาร์เรย์
www-codercto-comgoogle,taobao,codercto,weibo
การเรียงลำดับอาร์เรย์ใน Perl ใช้ฟังก์ชัน sort() และมีรูปแบบดังนี้:
เรียงลำดับ [รายการย่อย]
คำอธิบายพารามิเตอร์:
SUBROUTINE: ระบุกฎ
LIST: รายการหรืออาร์เรย์
ก่อนเรียงลำดับ: google taobao codercto facebook หลังจากเรียงลำดับ: facebook google codercto taobao
หมายเหตุ: การเรียงลำดับอาร์เรย์จะขึ้นอยู่กับค่าตัวเลข ASCII ดังนั้นเมื่อเราเรียงลำดับอาร์เรย์ วิธีที่ดีที่สุดคือแปลงแต่ละองค์ประกอบให้เป็นตัวพิมพ์เล็กก่อนที่จะเรียงลำดับ
ตัวแปรพิเศษ $[ แสดงถึงค่าดัชนีแรกของอาร์เรย์ ซึ่งโดยทั่วไปจะเป็น 0 ถ้าเราตั้งค่า $[ เป็น 1 ค่าดัชนีแรกของอาร์เรย์จะเป็น 1 ค่าที่สองคือ 2 และต่อๆ ไป ตัวอย่างมีดังนี้:
เว็บไซต์: google taobao codercto facebook@sites[1]: google@sites[2]: taobao
โดยทั่วไป เราไม่แนะนำให้ใช้ตัวแปรพิเศษ $[ ใน Perl เวอร์ชันใหม่ ตัวแปรนี้จะถูกละทิ้งไป
องค์ประกอบของอาร์เรย์จะถูกคั่นด้วยเครื่องหมายจุลภาค เรายังสามารถใช้เครื่องหมายจุลภาคเพื่อรวมอาร์เรย์ได้ ดังที่แสดงด้านล่าง:
ตัวเลข = 1 3 4 5 6
นอกจากนี้ยังสามารถฝังหลายอาร์เรย์ภายในอาร์เรย์หนึ่งและรวมเข้ากับอาร์เรย์หลักได้:
ตัวเลข = 1 3 5 2 4 6
รายการสามารถใช้เป็นอาร์เรย์ได้ การระบุค่าดัชนีหลังจากรายการสามารถอ่านองค์ประกอบที่ระบุได้ ดังที่แสดงด้านล่าง:
ค่าของ var คือ = 1
ในทำนองเดียวกัน เราสามารถใช้ .. ในอาร์เรย์เพื่ออ่านองค์ประกอบในช่วงที่ระบุ:
มูลค่ารายการ = 4 3 2