คำถามติดแท็ก lua

3
ทำไม Python ไม่ใช่ Lua [ปิด]
ทำไม Python ได้รับการสนับสนุนโดย google และได้รับความนิยมอย่างรวดเร็วและ Lua ไม่ได้ คุณรู้ไหมว่าทำไม Lua จึงอยู่ในพื้นหลัง
45 python  scripting  lua 

10
ทำไมเราต้องการ“ ฟังก์ชั่นโทรกลับ”?
programming in Luaฉันกำลังอ่านหนังสือ มันบอกว่า การปิดให้บริการเป็นเครื่องมือที่มีคุณค่าในหลายบริบท ดังที่เราได้เห็นพวกมันมีประโยชน์ในการโต้แย้งกับฟังก์ชันลำดับสูงเช่นเรียงลำดับ การปิดเป็นสิ่งที่มีค่าสำหรับฟังก์ชั่นที่สร้างฟังก์ชั่นอื่น ๆ เช่นตัวอย่างตัวนับใหม่ กลไกนี้อนุญาตให้โปรแกรม Lua รวมเทคนิคการเขียนโปรแกรมที่ซับซ้อนจากโลกที่ใช้งานได้ การปิดเป็นประโยชน์สำหรับฟังก์ชั่นการโทรกลับเช่นกัน ตัวอย่างทั่วไปที่นี่เกิดขึ้นเมื่อคุณสร้างปุ่มในชุดเครื่องมือ GUI ทั่วไป แต่ละปุ่มมีฟังก์ชั่นการโทรกลับที่จะถูกเรียกเมื่อผู้ใช้กดปุ่ม; คุณต้องการให้ปุ่มต่าง ๆ ทำสิ่งต่าง ๆ เล็กน้อยเมื่อกด ตัวอย่างเช่นเครื่องคิดเลขดิจิตอลต้องการปุ่มที่คล้ายกันสิบปุ่มสำหรับแต่ละหลัก คุณสามารถสร้างแต่ละคนด้วยฟังก์ชั่นเช่นนี้: function digitButton (digit) return Button{label = tostring(digit), action = function () add_to_display(digit) end} end มันดูเหมือนว่าถ้าผมเรียกdigitButtonมันจะกลับaction(นี้จะสร้างปิด) ดังนั้นฉันสามารถเข้าถึงผ่านไปdigitdigitButton คำถามของฉันคือ: Why we need call back functions? what situations can …

7
ฟังก์ชั่นส่งกลับเฉพาะพารามิเตอร์ที่ไม่เปลี่ยนแปลงไม่มีประโยชน์หรือไม่
ฉันเพิ่งพบฟังก์ชันนี้ในโครงการที่ฉันทำงานอยู่: -- Just returns the text unchanged. -- Note: <text> may be nil, function must return nil in that case! function Widget:wtr(text) return text end น่าเศร้าที่ผู้ทำรหัสไม่ทำงานใน บริษัท อีกต่อไป ทำไมหนึ่งจะสร้างฟังก์ชั่นที่ไม่ทำอะไรเลย แต่ส่งกลับพารามิเตอร์ที่เรียกว่าด้วย? มีการใช้ฟังก์ชันดังกล่าวไม่ได้ระบุตัวอย่างนี้ แต่โดยรวมในกรณีใด ๆ ? เนื่องจาก function aFunction(parameter) return parameter end จบลงแล้ว aFunction(parameter) == parameter ทำไมฉันต้องเขียนอะไรบางอย่าง aFunction(parameter) == whatIWantToCheck แทน parameter …

2
Lua จัดการกับทั้งจำนวนเต็มและจำนวนลอยได้อย่างไร
เท่าที่ฉันจำได้ว่าตัวเองเขียนโปรแกรมฉันได้รับการสอนไม่ให้เปรียบเทียบจำนวนจุดลอยตัวเพื่อความเท่าเทียมกัน ตอนนี้ในขณะที่อ่านการเขียนโปรแกรมใน Luaเกี่ยวกับnumberประเภทLua ฉันพบต่อไปนี้: ประเภทหมายเลขแสดงถึงจำนวนจริง (ทศนิยมสองตำแหน่งที่มีความแม่นยำ) Lua ไม่มีประเภทจำนวนเต็มเนื่องจากไม่ต้องการ มีความเข้าใจผิดอย่างกว้างขวางเกี่ยวกับข้อผิดพลาดทางเลขทศนิยมและบางคนกลัวว่าแม้การเพิ่มขึ้นอย่างง่ายสามารถไปแปลก ๆ กับตัวเลขจุดลอยตัว ความจริงก็คือเมื่อคุณใช้ double เพื่อแทนค่าจำนวนเต็มจะไม่มีข้อผิดพลาดในการปัดเศษเลย (เว้นแต่ว่าจำนวนจะมากกว่า 100,000,000,000,000) โดยเฉพาะอย่างยิ่งหมายเลข Lua สามารถแสดงจำนวนเต็มที่มีความยาวใด ๆ โดยไม่มีปัญหาการปัดเศษ ยิ่งไปกว่านั้นซีพียูที่ทันสมัยส่วนใหญ่ทำเลขคณิตทศนิยมให้เร็วที่สุด (หรือเร็วกว่า) เลขจำนวนเต็ม เป็นจริงสำหรับทุกภาษาหรือไม่ โดยพื้นฐานถ้าเราไม่ไปเกินจุดลอยเป็นสองเท่าเราจะปลอดภัยในเลขคณิตจำนวนเต็มหรือไม่ หรือเพื่อให้สอดคล้องกับชื่อคำถามมีอะไรพิเศษที่ Lua ทำกับnumberประเภทของมันดังนั้นมันจึงทำงานได้ดีทั้งแบบจำนวนเต็มและจุดลอยตัว?

2
ควรเรียกใช้สคริปต์ส่วนขยายในแซนด์บ็อกซ์หรือไม่
โดยเฉพาะอย่างยิ่งนี่เป็นเรื่องเกี่ยวกับส่วนขยายเกมที่เขียนด้วย lua (luajit-2.0) ฉันใคร่ครวญว่าฉันควร จำกัด สิ่งที่สคริปต์เหล่านี้สามารถทำได้หรือไม่และสรุปได้ว่าฉันไม่ควร: มันยากที่จะทำให้ถูกต้อง ฟังดูงี่เง่า แต่โอกาสของฉันก็คือแซนด์บ็อกซ์ของฉันจะจบลงด้วยการรั่วไหล ประโยชน์อย่างเดียวที่ฉันคิดได้คือให้ความรู้สึกปลอดภัยแก่ผู้ใช้เมื่อใช้งานสคริปต์บุคคลที่สาม ข้อเสียคือมันน่ารำคาญอย่างยิ่งสำหรับนักเขียนส่วนขยาย นั่นคือตอนนี้ตัวฉันเอง (เนื้อหาของเกมส่วนใหญ่จะถูกเขียนสคริปต์) เหตุผลที่ฉันถามตอนนี้ก่อนที่ฉันจะมีอะไรที่ทำได้จริง ๆ ก็คือการเพิ่ม sandbox ไว้ก่อนนั้นเป็นเรื่องง่าย อย่างไรก็ตามถ้าฉันไปกับมันก่อนแล้วตัดสินใจในภายหลังว่าฉันต้องมี Sandbox หลังจากทั้งหมดฉันจะพบปัญหา (ฉันต้องเขียนสคริปต์ที่มีอยู่แล้วหรือแนะนำระบบการจัดการความน่าเชื่อถือบางรูปแบบ ซึ่งดูเหมือนว่าจะมีปัญหามากกว่าค่า)

3
การเขียนสคริปต์เกม (Lua) หมายถึงอะไร
ฉันได้อ่านว่า Lua มักใช้สำหรับการฝังสคริปต์และโดยเฉพาะในเกมสำหรับการเขียนสคริปต์ ฉันพบว่ามันยากที่จะนึกภาพว่ามันถูกใช้อย่างถูกต้องอย่างไร คุณสามารถอธิบายว่าทำไมและคุณลักษณะใดและมีการใช้ผู้ชมกลุ่มใด คำถามนี้ไม่ได้กล่าวถึง Lua โดยเฉพาะ แต่เป็นสคริปต์ฝังตัวใด ๆ ที่มีจุดประสงค์คล้ายกับ Lua Scripting มันใช้สำหรับผู้ใช้เพื่อทำการปรับแต่งเองหรือไม่? มันใช้สำหรับผู้พัฒนาเกมเพื่อเพิ่มความเร็วในการสร้างตรรกะของเกม (ระดับ, AI, ... ) หรือไม่? มันใช้กับโค้ดเฟรมเวิร์กของเกมหรือไม่เนื่องจากสคริปต์สามารถเร็วขึ้น โดยทั่วไปฉันสงสัยว่าลึกระหว่างการกำหนดค่าธรรมดาและตรรกะกรอบการใช้งานสคริปต์เช่นไป และสคริปต์จะทำเท่าไหร่ สายการกำหนดค่าน้อยหรือจำนวนมาก?
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.