คำถามติดแท็ก global-variables

ตัวแปรส่วนกลางคือตัวแปรที่สามารถเข้าถึงได้จากองค์ประกอบทั้งหมดของส่วนประกอบซอฟต์แวร์

8
ฉันจะประกาศตัวแปรส่วนกลางใน VBA ได้อย่างไร
ฉันเขียนรหัสต่อไปนี้: Function find_results_idle() Public iRaw As Integer Public iColumn As Integer iRaw = 1 iColumn = 1 และฉันได้รับข้อความแสดงข้อผิดพลาด: "แอตทริบิวต์ที่ไม่ถูกต้องใน Sub หรือ Function" คุณรู้ไหมว่าฉันทำอะไรผิด? ฉันพยายามใช้GlobalแทนPublicแต่มีปัญหาเดียวกัน ฉันพยายามประกาศว่าฟังก์ชันนี้เป็นสาธารณะ แต่ก็ไม่ดีเช่นกัน ฉันต้องทำอย่างไรเพื่อสร้างตัวแปรส่วนกลาง

4
ฉันสามารถใช้ __init__.py เพื่อกำหนดตัวแปรส่วนกลางได้หรือไม่
ฉันต้องการกำหนดค่าคงที่ที่ควรมีอยู่ในโมดูลย่อยทั้งหมดของแพ็กเกจ ฉันคิดว่าตำแหน่งที่ดีที่สุดจะอยู่ใน__init__.pyไฟล์ของแพ็คเกจรูท แต่ฉันไม่รู้ว่าต้องทำอย่างไร สมมติว่าฉันมีแพ็กเกจย่อยสองสามแพ็กเกจและแต่ละแพ็กเกจมีหลายโมดูล ฉันจะเข้าถึงตัวแปรนั้นจากโมดูลเหล่านี้ได้อย่างไร แน่นอนว่าหากสิ่งนี้ผิดโดยสิ้นเชิงและมีทางเลือกอื่นที่ดีกว่าฉันก็อยากจะรู้

8
ตัวแปรส่วนกลางใน Javascript ในหลายไฟล์
รหัส JavaScript ของฉันจำนวนมากอยู่ในไฟล์ภายนอกชื่อ helpers.js ภายใน HTML ที่เรียกรหัส JavaScript นี้ฉันพบว่าตัวเองต้องการทราบว่ามีการเรียกใช้ฟังก์ชันบางอย่างจาก helpers.js หรือไม่ ฉันได้พยายามสร้างตัวแปรส่วนกลางโดยกำหนด: var myFunctionTag = true; ในขอบเขตทั่วโลกทั้งในโค้ด HTML และ helpers.js นี่คือลักษณะของรหัส html ของฉัน: <html> ... <script type='text/javascript' src='js/helpers.js'></script> ... <script> var myFunctionTag = false; ... //I try to use myFunctionTag here but it is always false, even though it has …

1
จะเกิดอะไรขึ้นกับตัวแปรส่วนกลางและตัวแปรคงที่ในไลบรารีที่ใช้ร่วมกันเมื่อมีการเชื่อมโยงแบบไดนามิก
ฉันกำลังพยายามทำความเข้าใจว่าเกิดอะไรขึ้นเมื่อโมดูลที่มี globals และตัวแปรคงที่เชื่อมโยงกับแอปพลิเคชันแบบไดนามิก ตามโมดูลฉันหมายถึงแต่ละโครงการในโซลูชัน (ฉันทำงานกับสตูดิโอภาพเยอะมาก!) โมดูลเหล่านี้มีอยู่ในตัว * .lib หรือ * .dll หรือตัว * .exe เอง ฉันเข้าใจว่าไบนารีของแอปพลิเคชันมีข้อมูลส่วนกลางและแบบคงที่ของหน่วยการแปลแต่ละหน่วย (ไฟล์ออบเจ็กต์) ในส่วนข้อมูล (และอ่านเฉพาะส่วนข้อมูลหาก const) จะเกิดอะไรขึ้นเมื่อแอปพลิเคชันนี้ใช้โมดูล A ที่มีการเชื่อมโยงแบบไดนามิกในเวลาโหลด ฉันถือว่า DLL มีส่วนสำหรับโลกและสถิตยศาสตร์ ระบบปฏิบัติการโหลดหรือไม่ ถ้าเป็นเช่นนั้นจะโหลดไปที่ใด และจะเกิดอะไรขึ้นเมื่อแอปพลิเคชันใช้โมดูล B พร้อมการเชื่อมโยงแบบไดนามิกรันไทม์ หากฉันมีโมดูลสองโมดูลในแอปพลิเคชันของฉันที่ทั้งสองใช้ A และ B สำเนาของโลกของ A และ B จะถูกสร้างขึ้นตามที่ระบุไว้ด้านล่าง (หากเป็นกระบวนการที่แตกต่างกัน) DLLs A และ B สามารถเข้าถึงแอปพลิเคชัน globals ได้หรือไม่ (โปรดระบุเหตุผลของคุณด้วย) อ้างจากMSDN …

6
แชร์ตัวแปรระหว่างไฟล์ใน Node.js?
นี่คือ 2 ไฟล์: // main.js require('./modules'); console.log(name); // prints "foobar" // module.js name = "foobar"; เมื่อฉันไม่มี "var" มันใช้งานได้ แต่เมื่อฉันมี: // module.js var name = "foobar"; ชื่อจะไม่ถูกกำหนดใน main.js ฉันได้ยินมาว่าตัวแปรทั่วโลกไม่ดีและคุณควรใช้ "var" ก่อนการอ้างอิง แต่นี่เป็นกรณีที่ตัวแปรทั่วโลกดีหรือไม่?

3
จะสร้างตัวแปรส่วนกลางได้อย่างไร?
ฉันมีตัวแปรส่วนกลางที่ต้องแชร์ระหว่าง ViewControllers ของฉัน ใน Objective-C ฉันสามารถกำหนดตัวแปรแบบคงที่ได้ แต่ฉันหาวิธีกำหนดตัวแปรส่วนกลางใน Swift ไม่ได้ คุณรู้วิธีการทำหรือไม่?

4
ทำไมตัวแปรระดับโลกถึงชั่วร้าย? [ปิด]
ปิด. คำถามนี้ไม่เป็นไปตามหลักเกณฑ์กองมากเกิน ขณะนี้ยังไม่ยอมรับคำตอบ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้เป็นหัวข้อสำหรับ Stack Overflow ปิดให้บริการใน7 เดือนที่ผ่านมา ปรับปรุงคำถามนี้ ฉันกำลังพยายามค้นหาว่าเหตุใดการใช้globalจึงถือว่าเป็นการปฏิบัติที่ไม่ดีใน python (และในการเขียนโปรแกรมโดยทั่วไป) ใครสามารถอธิบาย? ลิงก์ที่มีข้อมูลเพิ่มเติมจะได้รับการชื่นชม

1
ตัวแปร PHP ในฟังก์ชันที่ไม่ระบุชื่อ
ฉันกำลังเล่นกับฟังก์ชันที่ไม่ระบุตัวตนใน PHP และตระหนักว่าพวกเขาดูเหมือนจะไม่เข้าถึงตัวแปรนอกตัวพวกเขา มีวิธีใดในการแก้ไขปัญหานี้หรือไม่? ตัวอย่าง: $variable = "nothing"; functionName($someArgument, function() { $variable = "something"; }); echo $variable; //output: "nothing" สิ่งนี้จะแสดงผล "ไม่มีอะไร" มีวิธีใดบ้างที่ฟังก์ชันนิรนามสามารถเข้าถึงได้$variable?

5
เป็นไปได้ไหมที่จะใช้ตัวแปรส่วนกลางใน Rust
ฉันรู้ว่าโดยทั่วไปต้องหลีกเลี่ยงตัวแปรส่วนกลาง อย่างไรก็ตามฉันคิดว่าในทางปฏิบัติบางครั้งก็เป็นที่พึงปรารถนา (ในสถานการณ์ที่ตัวแปรเป็นส่วนสำคัญของโปรแกรม) ที่จะใช้พวกเขา เพื่อเรียนรู้ Rust ฉันกำลังเขียนโปรแกรมทดสอบฐานข้อมูลโดยใช้ sqlite3 และแพ็คเกจ Rust / sqlite3 บน GitHub ดังนั้นสิ่งนี้จำเป็น (ในโปรแกรมทดสอบของฉัน) (เป็นทางเลือกแทนตัวแปรส่วนกลาง) เพื่อส่งผ่านตัวแปรฐานข้อมูลระหว่างฟังก์ชันที่มีประมาณหนึ่งโหล ตัวอย่างอยู่ด้านล่าง เป็นไปได้และเป็นไปได้หรือไม่ที่จะใช้ตัวแปรส่วนกลางใน Rust จากตัวอย่างด้านล่างฉันสามารถประกาศและใช้ตัวแปรส่วนกลางได้หรือไม่ extern crate sqlite; fn main() { let db: sqlite::Connection = open_database(); if !insert_data(&db, insert_max) { return; } } ฉันลองทำสิ่งต่อไปนี้ แต่ดูเหมือนจะไม่ถูกต้องนักและส่งผลให้เกิดข้อผิดพลาดด้านล่าง (ฉันลองด้วยunsafeบล็อกด้วย): extern crate sqlite; static mut DB: Option<sqlite::Connection> …

8
จะแก้ไขตัวแปรส่วนกลางภายในฟังก์ชันใน bash ได้อย่างไร?
ฉันกำลังทำงานกับสิ่งนี้: GNU bash, version 4.1.2(1)-release (x86_64-redhat-linux-gnu) ฉันมีสคริปต์ดังต่อไปนี้: #!/bin/bash e=2 function test1() { e=4 echo "hello" } test1 echo "$e" ซึ่งผลตอบแทน: hello 4 แต่ถ้าฉันกำหนดผลลัพธ์ของฟังก์ชันให้กับตัวแปรตัวแปร global eจะไม่ถูกแก้ไข: #!/bin/bash e=2 function test1() { e=4 echo "hello" } ret=$(test1) echo "$ret" echo "$e" ผลตอบแทน: hello 2 ฉันเคยได้ยินเกี่ยวกับการใช้ evalในกรณีนี้ดังนั้นฉันจึงทำสิ่งนี้ในtest1: eval 'e=4' แต่ผลเดียวกัน. ช่วยอธิบายหน่อยได้ไหมว่าทำไมจึงไม่แก้ไข ฉันจะบันทึกเสียงสะท้อนของtest1ฟังก์ชันในretและแก้ไขตัวแปรส่วนกลางด้วยได้อย่างไร

8
วิธี Pythonic ส่วนใหญ่ในการจัดเตรียมตัวแปรการกำหนดค่าส่วนกลางใน config.py? [ปิด]
ปิด . คำถามนี้เป็นคำถามความคิดเห็นตาม ขณะนี้ยังไม่ยอมรับคำตอบ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้สามารถตอบพร้อมข้อเท็จจริงและการอ้างอิงได้โดยแก้ไขโพสต์นี้ ปิด5 เดือนที่ผ่านมา ปรับปรุงคำถามนี้ ในภารกิจที่ไม่มีที่สิ้นสุดของฉันในเรื่องง่าย ๆ ที่ซับซ้อนเกินไปฉันกำลังค้นคว้าวิธี 'Pythonic' ส่วนใหญ่เพื่อจัดหาตัวแปรการกำหนดค่าส่วนกลางภายใน ' config.py ' ทั่วไปที่พบในแพ็คเกจไข่ Python วิธีดั้งเดิม (aah, good ol ' #define !) มีดังนี้: MYSQL_PORT = 3306 MYSQL_DATABASE = 'mydb' MYSQL_DATABASE_TABLES = ['tb_users', 'tb_groups'] ดังนั้นการนำเข้าตัวแปรส่วนกลางด้วยวิธีใดวิธีหนึ่งต่อไปนี้: from config import * dbname = MYSQL_DATABASE for table in MYSQL_DATABASE_TABLES: print …

5
วิธีการประกาศตัวแปรส่วนกลางในไฟล์. js
ฉันต้องการตัวแปรส่วนกลางสองสามตัวที่ฉันต้องการใน.jsไฟล์ทั้งหมด ตัวอย่างเช่นพิจารณา 4 ไฟล์ต่อไปนี้: global.js js1.js js2.js js3.js มีวิธีใดบ้างที่ฉันสามารถประกาศตัวแปรส่วนกลาง 3 ตัวในglobal.jsและเข้าถึงตัวแปรเหล่านั้นในอีก 3 .jsไฟล์โดยพิจารณาว่าฉันโหลด 4 ไฟล์ข้างต้นทั้งหมดลงในเอกสาร HTML ใครช่วยบอกฉันหน่อยได้ไหมว่าเป็นไปได้หรือมีวิธีแก้ไขเพื่อให้บรรลุสิ่งนี้?

6
ตัวแปรทั่วโลกใน PHP ถือเป็นการปฏิบัติที่ไม่ดีหรือไม่? ถ้าเป็นเช่นนั้นทำไม?
function foo () { global $var; // rest of code } ในโครงการ PHP ขนาดเล็กของฉันฉันมักจะทำตามขั้นตอน ฉันมักจะมีตัวแปรที่มีการกำหนดค่าระบบและเมื่อฉัน Nead global $var;เข้าถึงตัวแปรนี้ในการทำงานที่ผมทำ การปฏิบัติที่ไม่ดีนี้หรือไม่?
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.