Elixir - ตัวแปร
ตัวแปรช่วยให้เรามีพื้นที่จัดเก็บที่มีชื่อซึ่งโปรแกรมของเราสามารถจัดการได้ ตัวแปรแต่ละตัวใน Elixir มีประเภทเฉพาะซึ่งกำหนดขนาดและรูปแบบของหน่วยความจำของตัวแปร ช่วงของค่าที่สามารถเก็บไว้ในหน่วยความจำนั้น และชุดของการดำเนินการที่สามารถนำไปใช้กับตัวแปร
ประเภทของตัวแปร
Elixir รองรับตัวแปรพื้นฐานประเภทต่อไปนี้
จำนวนเต็ม
สิ่งเหล่านี้ใช้สำหรับจำนวนเต็ม มีขนาด 32 บิตบนสถาปัตยกรรม 32 บิตและ 64 บิตบนสถาปัตยกรรม 64 บิต จำนวนเต็มจะลงนามใน elixir เสมอ หากจำนวนเต็มเริ่มขยายขนาดเกินขีด จำกัด Elixir จะแปลงเป็นจำนวนเต็มขนาดใหญ่ซึ่งจะใช้หน่วยความจำในช่วง 3 ถึง n คำแล้วแต่ว่าคำใดสามารถใส่ลงในหน่วยความจำได้
ลอย
Floats มีความแม่นยำ 64 บิตในยาอายุวัฒนะ นอกจากนี้ยังเป็นเหมือนจำนวนเต็มในแง่ของหน่วยความจำ เมื่อกำหนดค่าลอยสามารถใช้สัญกรณ์เอกซ์โพเนนเชียลได้
บูลีน
สามารถรับค่าได้ 2 ค่าซึ่งเป็นจริงหรือเท็จ
สตริง
สตริงเป็น utf-8 ที่เข้ารหัสใน elixir พวกเขามีโมดูลสตริงซึ่งมีฟังก์ชันมากมายให้กับโปรแกรมเมอร์เพื่อจัดการกับสตริง
ฟังก์ชันที่ไม่ระบุชื่อ / Lambdas
นี่คือฟังก์ชันที่สามารถกำหนดและกำหนดให้กับตัวแปรซึ่งสามารถใช้เพื่อเรียกใช้ฟังก์ชันนี้ได้
คอลเลกชัน
มีคอลเลกชันมากมายใน Elixir บางส่วนเป็นรายการสิ่งที่เพิ่มขึ้นแผนที่ไบนารี ฯลฯ ซึ่งจะกล่าวถึงในบทต่อ ๆ ไป
การประกาศตัวแปร
การประกาศตัวแปรจะบอกล่ามว่าจะสร้างหน่วยเก็บข้อมูลสำหรับตัวแปรไว้ที่ใดและเท่าใด Elixir ไม่อนุญาตให้เราเพียงแค่ประกาศตัวแปร ต้องประกาศตัวแปรและกำหนดค่าพร้อมกัน ตัวอย่างเช่นในการสร้างตัวแปรชื่อ life และกำหนดค่า 42 เราทำสิ่งต่อไปนี้ -
life = 42
สิ่งนี้จะผูกชีวิตของตัวแปรกับค่า 42 หากเราต้องการกำหนดค่าใหม่ให้กับตัวแปรนี้เราสามารถทำได้โดยใช้ไวยากรณ์เดียวกันกับด้านบนกล่าวคือ
life = "Hello world"
การตั้งชื่อตัวแปร
การตั้งชื่อตัวแปรตาม snake_caseอนุสัญญาใน Elixir กล่าวคือตัวแปรทั้งหมดต้องขึ้นต้นด้วยตัวอักษรพิมพ์เล็กตามด้วยตัวอักษร 0 ขึ้นไป (ทั้งตัวพิมพ์ใหญ่และตัวพิมพ์เล็ก) ตามด้วยตัวเลือก '?' หรือ '!'.
ชื่อตัวแปรสามารถเริ่มต้นด้วยขีดล่างนำหน้าได้ แต่ต้องใช้เมื่อละเว้นตัวแปรเท่านั้นกล่าวคือตัวแปรนั้นจะไม่ถูกใช้อีก แต่จำเป็นต้องกำหนดให้กับบางสิ่ง
ตัวแปรการพิมพ์
ในเชลล์แบบโต้ตอบตัวแปรจะพิมพ์หากคุณเพียงแค่ป้อนชื่อตัวแปร ตัวอย่างเช่นหากคุณสร้างตัวแปร -
life = 42
และป้อน 'ชีวิต' ในเปลือกของคุณคุณจะได้ผลลัพธ์เป็น -
42
แต่ถ้าคุณต้องการส่งออกตัวแปรไปยังคอนโซล (เมื่อเรียกใช้สคริปต์ภายนอกจากไฟล์) คุณต้องระบุตัวแปรเป็นอินพุตให้ IO.puts ฟังก์ชัน -
life = 42
IO.puts life
หรือ
life = 42
IO.puts(life)
สิ่งนี้จะให้ผลลัพธ์ต่อไปนี้ -
42