D Server
เนื้อหาของเรา
- กลับหน้าแรก
- CGI-Perl WebBoard
- Php3 WebBoard
- Developer WebBoard
บริการของเรา
- Free GuestBook
- Free Counter
- Free WebBoard
- Free Stats
- Free JumpBox
- Free E-Mail
ข้อมูลของเรา
- ข่าวประกาศ
- D'Server คืออะไร?
- ทีมงาน D'Server
- ติดต่อลงโฆษณา
- ข้อมูลการติดต่อทีมงาน
- ข้อตกลงการให้บริการ
Bandwidth Support by Internet Thailand
Power by Apache
Power by FreeBSD
บทเรียนภาษา Perl

บทที่ 4 : Operator และการกำหนดค่า ให้กับตัวแปรชนิด Array

การกำหนดค่า และการดำเนินการ กับตัวแปรชนิด Array

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

@book=("cartoon","computer magazine");
@morebook=("travel magazine", @cartoon, "internet magazine");
@morebook=("travel magazine", "cartoon", "computer magazine", "internet magazine");

ในบรรทัดที่สอง ของชุดคำสั่ง จะนำตัวแปร array ที่ชื่อว่า @cartoon มาแตกย่อยออกมา เพราะฉนั้น ผลของชุดคำสั่ง บรรทัดที่สอง จึงเหมือนกับผล ของชุดคำสั่ง ในบรรทัดที่สาม (บางคนอาจจะ เข้าใจไปว่า ผลของบรรทัดที่สอง จะทำให้เกิด array สองมิติ ไม่ใช่นะครับ)

สำหรับการ เพิ่มข้อมูลเข้า array วิธีการที่ดีที่สุด แนะนำให้ใช้ function push ตัวอย่างการใช้ function push

push(@morebook , "game magazine");

จะนำข้อมูล "game magazine" ไปใส่ต่อท้าย ตัวแปร array ที่ชื่อว่า @morebook ถ้าหากต้องการ เพิ่มข้อมูลมากกว่า 2 ชุดเข้าสู่ ตัวแปรแบบ array สามารถทำได้ โดยใช้รูปแบบใด รูปแบบหนึ่ง ตามตัวอย่างต่อไปนี้

push(@morebook, "game magazine" , "newspaper");
push(@morebook,"(game magazine", "newspaper"));
push(@morebook, @otherbook);

หลังจากที่ตัว function push ทำงานข้อมูล ก็จะถูกเพิ่มเข้าไปใน array ที่ต้องการ ส่วนตัว function push เองจะส่งค่ากลับ มาเป็นขนาดของ ตัวแปร array ที่ถูกเพิ่ม ข้อมูลเข้าไป

หากต้องการที่จะนำข้อมูล ตัวท้ายสุดของตัวแปร array ออกจากตัวแปร array สามารถทำได้โดยใช้ function pop จากตัวแปร array ตัวอย่าง ที่ผ่านมาเมื่อใช้ function pop ตัว function pop จะส่งค่ากลับ "newspaper" มา และตัวแปร array @morebook จะมีสมาชิกลดลง ดูตัวอย่างการใช้ function pop

$newdata = pop(@morebook); # Now $newdata = "newspaper"

เราสามารถกำหนด ค่าตัวแปร array ให้กับตัวแปรแบบ scalar ได้ด้วยเช่นกัน แต่ต้องระวัง ในการระบุค่า ที่จะกำหนดให้ ให้สังเกต บรรทัดคำสั่ง สองคำสั่งต่อไปนี้

$n = @morebook

จะนำขนาด ของตัวแปร @morebook ไปกำหนดค่า ให้กับตัวแปร $n แต่

$n = "@morebook"

จะเปลี่ยนข้อมูล สมาชิกในตัวแปร array เป็น ข้อมูลแบบข้อความ โดยแบ่งสมาชิกแต่ละตัวใน array ออกจากกัน โดยใช้ ช่องว่าง (space)

นอกจากนี้ ยังมีรูปแบบ การกำหนดข้อมูล ของตัวแปร array ให้กับตัวแปร scalar แบบอื่น อีกดังตัวอย่าง

คำอธิบาย
($a, $b) = ($c, $d); ได้ผลลัพธ์เท่ากับ $a = $c; $b = $d;
($a, $b) = @morebook $a และ $b จะเป็นสมาชิก สองตัวแรกของ @morebook ตามลำดับ
($a, @newdata) = @ morebook $a จะเป็นสมาชิก ตัวแรกของ @morebook และ @newdata จะมีค่าเป็นสมาชิก ตัวที่เหลือของ @morebook

ถ้าหากต้องการ ค้นหาดัชนี ของสมาชิก ตัวสุดท้ายใน ตัวแปร array ดูตัวอย่าง ของการใช้งานกับ ตัวแปร array @morebook จะใช้วิธีการดังนี้

$#morebook

เนื้อหาส่วนถัดไป.. ->



[ สนับสนุนช่องทางข้อมูลโดย Internet Thailand | สงวนลิขสิทธิ์ (c) Dream Group 2542 | ข้อตกลงการบริการ | ทีมงาน Dream Group | แนะนำติชม มาที่ webmonster@dserver.org ]