Skip to content
Siamcoder

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

R1 min read

ตัวแปรแบบกลางในภาษา R

ในภาษา R, เราสามารถประกาศตัวแปรแบบกลาง (global variables) ที่สามารถเข้าถึงได้ทั้งในฟังก์ชันและบล็อกต่างๆ ที่มีขอบเขตในโปรแกรม ซึ่งตัวแปรเหล่านี้จะมีขอบเขตที่กว้างขึ้นและสามารถใช้งานได้ในส่วนต่างๆ ของโปรแกรม

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

global_variable <- 10 # ประกาศตัวแปรแบบกลาง
my_function <- function() {
print(global_variable)
}
my_function() # ผลลัพธ์: 10
global_variable <- 20 # เปลี่ยนแปลงค่าตัวแปรแบบกลาง
my_function() # ผลลัพธ์: 20`

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

เมื่อเราเปลี่ยนแปลงค่าของตัวแปร global_variable เป็น 20 แล้วเรียกใช้ฟังก์ชัน my_function() ผลลัพธ์ที่แสดงคือ 20 เนื่องจากตัวแปร global_variable ถูกเปลี่ยนค่าใหม่

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

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

เมื่อใช้ตัวแปรแบบกลาง ควรมีความระมัดระวังในการตั้งชื่อตัวแปรเพื่อป้องกันการชนกันระหว่างตัวแปรแบบกลางและตัวแปรในขอบเขตอื่น ๆ ของโปรแกรม

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

global_variable <- 10 # ประกาศตัวแปรแบบกลาง
my_function <- function() {
local_variable <- 5 # ประกาศตัวแปรในขอบเขตภายในฟังก์ชัน
result <- global_variable + local_variable
print(result)
}
my_function() # ผลลัพธ์: 15
print(local_variable) # ผลลัพธ์: Error: object 'local\_variable' not found`

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

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

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