การสร้างตัวเลขสุ่ม

Google Apps Script:
การสร้างตัวเลขสุ่ม

วิธีการ:

ใน Google Apps Script, คุณสามารถสร้างตัวเลขสุ่มโดยใช้ฟังก์ชัน Math.random() เหมือนกับ JavaScript ฟังก์ชันนี้จะส่งคืนตัวเลขทศนิยมสุ่ม (pseudo-random) ในช่วง 0 (รวม) ถึง 1 (ไม่รวม) เพื่อปรับตัวเลขเหล่านี้ให้เหมาะกับกรณีการใช้งานที่หลากหลาย เช่น การสร้างจำนวนเต็มภายในช่วงเฉพาะ คุณอาจต้องทำการคำนวณเพิ่มเติม

การสร้างตัวเลขสุ่มพื้นฐาน

ในการสร้างตัวเลขสุ่มง่าย ๆ และบันทึกลงในคอนโซล:

function generateRandomNumber() {
  var randomNumber = Math.random();
  Logger.log(randomNumber);
}

ผลลัพธ์ตัวอย่าง: 0.1234567890123456

การสร้างจำนวนเต็มภายในช่วงเฉพาะ

เพื่อสร้างจำนวนเต็มสุ่มระหว่างค่าสองค่า (min และ max), รวมทั้งสองค่า:

function getRandomInt(min, max) {
  min = Math.ceil(min);
  max = Math.floor(max);
  var randomNumber = Math.floor(Math.random() * (max - min + 1)) + min;
  Logger.log(randomNumber);
  return randomNumber;
}

// ตัวอย่าง:
getRandomInt(1, 10);

ผลลัพธ์ตัวอย่าง: 7

จำไว้ว่า, ฟังก์ชัน Math.ceil() ใช้สำหรับปัดค่าน้อยที่สุดขึ้น, และ Math.floor() ใช้สำหรับปัดค่ามากที่สุดลง, เพื่อให้แน่ใจว่าตัวเลขสุ่มอยู่ในช่วงที่ระบุไว้

ภาพรวม

กลไกสำหรับการสร้างตัวเลขสุ่มใน Google Apps Script, และในภาษาการเขียนโปรแกรมส่วนใหญ่, ใช้เครื่องมือสร้างตัวเลขสุ่มเทียม (PRNG) หลักการนี้เป็นแบบกำหนดได้และอาศัยค่าเริ่มต้น, ที่เรียกว่าเมล็ด, เพื่อผลิตลำดับของตัวเลขที่ดูเหมือนว่าสุ่ม แม้ว่าจะเพียงพอสำหรับการใช้งานหลายประเภท, สำคัญที่จะทราบว่าตัวเลขสุ่มเทียมอาจไม่เหมาะสำหรับที่ต้องการความปลอดภัยสูงหรือต้องการความสุ่มแท้จริง เช่น ในการประยุกต์ใช้งานที่เกี่ยวข้องกับการเข้ารหัส

ความสุ่มที่แท้จริงสามารถบรรลุได้ผ่านเครื่องกำเนิดตัวเลขสุ่มฮาร์ดแวร์หรือบริการที่สร้างความสุ่มจากปรากฏการณ์ธรรมชาติ อย่างไรก็ตาม, สำหรับความต้องการการเขียนสคริปต์ประจำวันส่วนใหญ่ใน Google Apps Script, Math.random() เพียงพอแล้ว

ในอดีต, ความพยายามในการหาเทคนิคการสร้างตัวเลขสุ่มที่มีประสิทธิภาพมากขึ้นได้นำไปสู่การพัฒนาอัลกอริทึมต่าง ๆ, โดยตัวอย่างที่น่าสนใจ ได้แก่ Mersenne Twister และ Linear Congruential Generator (LCG) อย่างไรก็ตาม, เนื่องจากระดับการแสดงออกที่สูงใน Google Apps Script, ผู้ใช้ส่วนใหญ่อาจไม่จำเป็นต้องใช้งานอัลกอริทึมเหล่านี้โดยตรง แต่การเข้าใจหลักการพื้นฐานสามารถช่วยในการชื่นชมความสำคัญและข้อจำกัดของการสร้างตัวเลขสุ่มในสคริปต์ของคุณ