Skip to content
Siamcoder

ขอบเขตตัวแปรแบบส่วนตัว (Private variables) ในภาษา R

R1 min read

ตัวแปรแบบส่วนตัวในภาษา R

ในภาษา R, เราสามารถสร้างตัวแปรแบบส่วนตัว (private variables) ในฟังก์ชันหรือบล็อกที่มีขอบเขตจำกัด เพื่อให้ตัวแปรดังกล่าวเป็นเอกลักษณ์และไม่สามารถเข้าถึงจากภายนอกได้

นี่คือตัวอย่างโค้ดที่แสดงการใช้งานตัวแปรแบบส่วนตัวในภาษา R:

my_function <- function() {
private_variable <- 5 # ตัวแปร private\_variable เป็นตัวแปรแบบส่วนตัว
print(private_variable)
}
my_function() # ผลลัพธ์: 5
print(private_variable) # Error: object 'private\_variable' not found`

ในตัวอย่างข้างต้น เราสร้างฟังก์ชัน my_function ที่มีตัวแปร private_variable ภายใน เราสามารถเข้าถึงและใช้งานตัวแปร private_variable ในฟังก์ชันนี้ได้ โดยเมื่อเรียกใช้ฟังก์ชัน my_function() ผลลัพธ์ที่แสดงคือ 5

อย่างไรก็ตาม เมื่อเราพยายามเข้าถึงตัวแปร private_variable นอกฟังก์ชัน my_function() จะเกิดข้อผิดพลาดที่ว่า "Error: object 'private_variable' not found" เนื่องจากตัวแปร private_variable เป็นตัวแปรแบบส่วนตัวที่มีขอบเขตภายในเฉพาะฟังก์ชัน my_function เท่านั้น

การใช้งานตัวแปรแบบส่วนตัวช่วยให้เราสามารถรักษาความเป็นอิสระและความเข้าใจของโปรแกรมได้ และป้องกันการชนกันระหว่างตัวแปรในส่วนต่างๆ ของโปรแกรม

ที่มา: ตัวแปรแบบส่วนตัวในภาษา R ช่วยให้เราสามารถประกาศตัวแปรที่มีขอบเขตภายในฟังก์ชันหรือบล็อกที่มีขอบเขตจำกัด ซึ่งตัวแปรเหล่านี้จะเป็นเอกลักษณ์และไม่สามารถเข้าถึงได้จากภายนอกขอบเขตดังกล่าว

ตัวอย่างเช่น:

my_function <- function() {
private_variable <- 5 # ประกาศตัวแปรแบบส่วนตัว private\_variable
print(private_variable)
}
my_function() # ผลลัพธ์: 5
print(private_variable) # ผลลัพธ์: Error: object 'private\_variable' not found`

ในตัวอย่างข้างต้น เราสร้างฟังก์ชัน my_function ที่ประกาศตัวแปร private_variable ในขอบเขตภายในฟังก์ชัน ซึ่งเราสามารถเข้าถึงและใช้งานตัวแปร private_variable ในฟังก์ชันนี้ได้ การเรียกใช้ฟังก์ชัน my_function() จะแสดงผลลัพธ์เป็น 5

อย่างไรก็ตาม เมื่อพยายามเข้าถึงตัวแปร private_variable ภายนอกฟังก์ชัน my_function จะเกิดข้อผิดพลาดที่บอกว่า "Error: object 'private_variable' not found" เนื่องจากตัวแปร private_variable เป็นตัวแปรแบบส่วนตัวที่มีขอบเขตในฟังก์ชัน my_function เท่านั้น

การใช้ตัวแปรแบบส่วนตัวช่วยให้เราสามารถรักษาความเป็นอิสระและความเข้าใจของโปรแกรมได้ และป้องกันการชนกันระหว่างตัวแปรในส่วนต่างๆ ของโปรแกรม