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