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

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

6
ขอบเขตของคลาสที่ซ้อนกัน?
ฉันพยายามทำความเข้าใจขอบเขตในคลาสที่ซ้อนกันใน Python นี่คือรหัสตัวอย่างของฉัน: class OuterClass: outer_var = 1 class InnerClass: inner_var = outer_var การสร้างคลาสไม่เสร็จสมบูรณ์และฉันได้รับข้อผิดพลาด: <type 'exceptions.NameError'>: name 'outer_var' is not defined การพยายามinner_var = Outerclass.outer_varไม่ได้ผล ฉันเข้าใจ: <type 'exceptions.NameError'>: name 'OuterClass' is not defined ฉันพยายามเข้าถึงแบบคงที่outer_varจากInnerClass. มีวิธีทำไหม?

6
เหตุใดจึงส่งคืน 'เวกเตอร์' จากฟังก์ชันได้
โปรดพิจารณารหัสนี้ ฉันเคยเห็นรหัสประเภทนี้หลายครั้ง wordsเป็นเวกเตอร์ท้องถิ่น เป็นไปได้อย่างไรที่จะส่งคืนจากฟังก์ชัน เรารับประกันได้ไหมว่ามันจะไม่ตาย? std::vector<std::string> read_file(const std::string& path) { std::ifstream file("E:\\names.txt"); if (!file.is_open()) { std::cerr << "Unable to open file" << "\n"; std::exit(-1); } std::vector<string> words;//this vector will be returned std::string token; while (std::getline(file, token, ',')) { words.push_back(token); } return words; }

8
ฉันจะส่งพารามิเตอร์พิเศษไปยังฟังก์ชันการเรียกกลับในวิธี Javascript .filter () ได้อย่างไร
ฉันต้องการเปรียบเทียบแต่ละสตริงใน Array กับสตริงที่กำหนด การใช้งานปัจจุบันของฉันคือ: function startsWith(element) { return element.indexOf(wordToCompare) === 0; } addressBook.filter(startsWith); ฟังก์ชันง่ายๆนี้ใช้งานได้ แต่เนื่องจากตอนนี้wordToCompareถูกตั้งค่าเป็นตัวแปรส่วนกลาง แต่แน่นอนว่าฉันต้องการหลีกเลี่ยงสิ่งนี้และส่งผ่านเป็นพารามิเตอร์ ปัญหาของฉันคือฉันไม่แน่ใจว่าจะกำหนดstartWith () อย่างไรดังนั้นจึงยอมรับพารามิเตอร์พิเศษหนึ่งตัวเนื่องจากฉันไม่เข้าใจจริงๆว่าพารามิเตอร์เริ่มต้นจะส่งผ่านอย่างไร ฉันได้ลองวิธีต่างๆทั้งหมดที่ฉันคิดได้และไม่มีวิธีใดได้ผล หากคุณสามารถอธิบายได้ว่าพารามิเตอร์ที่ส่งผ่านไปยังฟังก์ชันการโทรกลับ 'ในตัว' (ขออภัยฉันไม่รู้คำศัพท์ที่ดีกว่าสำหรับสิ่งเหล่านี้) ทำงานได้ดีเพียงใด

4
ตัวแปรภายในในฟังก์ชันที่ซ้อนกัน
โอเคทนกับฉันในเรื่องนี้ฉันรู้ว่ามันจะดูสับสนอย่างมาก แต่โปรดช่วยฉันเข้าใจว่าเกิดอะไรขึ้น from functools import partial class Cage(object): def __init__(self, animal): self.animal = animal def gotimes(do_the_petting): do_the_petting() def get_petters(): for animal in ['cow', 'dog', 'cat']: cage = Cage(animal) def pet_function(): print "Mary pets the " + cage.animal + "." yield (animal, partial(gotimes, pet_function)) funs = list(get_petters()) for name, f in …

11
จะเข้าถึงชั้นนอกจากชั้นในได้อย่างไร?
ฉันมีสถานการณ์เช่นนั้น ... class Outer(object): def some_method(self): # do something class Inner(object): def __init__(self): self.Outer.some_method() # <-- this is the line in question ฉันจะเข้าถึงOuterเมธอดของคลาสจากInnerคลาสได้อย่างไร

7
ขอบเขตตัวแปร Bash
โปรดอธิบายให้ฉันทราบว่าเหตุใดข้อความสุดท้ายechoจึงว่างเปล่า? ฉันคาดว่าXCODEจะเพิ่มขึ้นใน while loop เป็นค่า 1: #!/bin/bash OUTPUT="name1 ip ip status" # normally output of another command with multi line output if [ -z "$OUTPUT" ] then echo "Status WARN: No messages from SMcli" exit $STATE_WARNING else echo "$OUTPUT"|while read NAME IP1 IP2 STATUS do if [ "$STATUS" != "Optimal" …
104 bash  scope  pipe 


8
เนมสเปซสำหรับประเภท enum - แนวทางปฏิบัติที่ดีที่สุด
บ่อยครั้งหนึ่งต้องมีการแจกแจงหลายประเภทด้วยกัน บางครั้งคนหนึ่งมีชื่อปะทะกัน วิธีแก้ปัญหาสองวิธีสำหรับสิ่งนี้: ใช้เนมสเปซหรือใช้ชื่อองค์ประกอบ enum ที่ 'ใหญ่กว่า' อย่างไรก็ตามโซลูชันเนมสเปซยังมีการใช้งานที่เป็นไปได้สองแบบ: คลาสดัมมี่ที่มี enum ซ้อนกันหรือเนมสเปซแบบเต็ม ฉันกำลังมองหาข้อดีข้อเสียของทั้งสามวิธี ตัวอย่าง: // oft seen hand-crafted name clash solution enum eColors { cRed, cColorBlue, cGreen, cYellow, cColorsEnd }; enum eFeelings { cAngry, cFeelingBlue, cHappy, cFeelingsEnd }; void setPenColor( const eColors c ) { switch (c) { default: assert(false); break; …
102 c++  enums  scope  nested 

6
การประกาศและกำหนดค่าเริ่มต้นตัวแปรภายในสวิตช์ Java
ฉันมีคำถามบ้าๆเกี่ยวกับสวิตช์ Java int key = 2; switch (key) { case 1: int value = 1; break; case 2: value = 2; System.out.println(value); break; default: break; } กรณีที่ 1 - เมื่อkeyสองมันประสบความสำเร็จพิมพ์ค่าเป็น 2 กรณีที่ 2 - เมื่อฉันจะแสดงความคิดเห็นvalue = 2ในcase 2:มัน squawks บอกว่าค่าตัวแปรท้องถิ่นอาจจะไม่ได้รับการเริ่มต้น คำถาม: สถานการณ์ที่ 1: หากโฟลว์การดำเนินการไม่ไปที่case 1:(เมื่อ the key = 2) จะรู้ได้อย่างไรว่าประเภทของตัวแปรค่าเป็นintอย่างไร …

8
การตั้งค่าตัวแปรขอบเขตไดนามิกใน AngularJs - ขอบเขต <some_string>
ฉันมีสตริงที่ได้รับจาก a routeParamหรือคุณลักษณะคำสั่งหรืออะไรก็ตามและฉันต้องการสร้างตัวแปรตามขอบเขตตามนี้ ดังนั้น: $scope.&lt;the_string&gt; = "something". อย่างไรก็ตามหากสตริงมีจุดอย่างน้อยหนึ่งจุดฉันต้องการแยกและ "เจาะลึก" ลงในขอบเขต ดังนั้นควรจะเป็น'foo.bar' $scope.foo.barซึ่งหมายความว่าเวอร์ชันธรรมดาจะไม่ทำงาน! // This will not work as assigning variables like this will not "drill down" // It will assign to a variables named the exact string, dots and all. var the_string = 'life.meaning'; $scope[the_string] = 42; console.log($scope.life.meaning); // &lt;-- …
97 angularjs  scope 

6
อะไรคือความแตกต่างระหว่าง @ApplicationScoped และ @Singleton Scopes ใน CDI
ใน CDI มีขอบเขตหลอก@ApplicationScopedและ ( javax.inject) @Singletonอะไรคือความแตกต่างระหว่างพวกเขา? นอกเหนือจากข้อเท็จจริงที่เป็นผู้รับ@ApplicationScopedมอบฉันทะและ@Singletonไม่ใช่ ฉันสามารถเปลี่ยน@Singletonถั่วเป็น@ApplicationScoped? สามารถ@ApplicationScopedถั่วมีสอง (หรือมากกว่า) กรณี?
96 java  scope  cdi 

1
กำหนดฟังก์ชันทั้งหมดในไฟล์. R ไฟล์เดียวเรียกใช้จากไฟล์. R อื่น อย่างไรถ้าเป็นไปได้?
ฉันจะเรียกฟังก์ชันที่กำหนดในไฟล์ abc.R ในไฟล์อื่นพูด xyz.R ได้อย่างไร คำถามเสริมคือฉันจะเรียกฟังก์ชันที่กำหนดใน abc.R จาก R prompt / command line ได้อย่างไร

2
การเข้าถึงตัวแปรภายนอกโดยใช้ฟังก์ชันนิรนามเป็นพารามิเตอร์
โดยทั่วไปฉันใช้ฟังก์ชันที่มีประโยชน์นี้เพื่อประมวลผลแถว db (ปิดตาที่ PDO และ / หรือสิ่งอื่น ๆ ) function fetch($query,$func) { $query = mysql_query($query); while($r = mysql_fetch_assoc($query)) { $func($r); } } ด้วยฟังก์ชั่นนี้ฉันสามารถทำได้: fetch("SELECT title FROM tbl", function($r){ //&gt; $r['title'] contains the title }); สมมติว่าตอนนี้ฉันต้องการเชื่อมต่อทั้งหมด$r['title']ใน var (นี่เป็นเพียงตัวอย่าง) ฉันจะทำอย่างนั้นได้อย่างไร? ฉันกำลังคิดอะไรแบบนี้ แต่มันก็ไม่ได้สวยหรูมากนัก: $result = ''; fetch("SELECT title FROM tbl", function($r){ global $result; …
95 php  closures  scope 

5
ขอบเขตการบล็อกใน Python
เมื่อคุณเขียนโค้ดเป็นภาษาอื่นบางครั้งคุณจะสร้างขอบเขตการบล็อกเช่นนี้: statement ... statement { statement ... statement } statement ... statement จุดประสงค์หนึ่ง (จากหลาย ๆ อย่าง) คือเพื่อปรับปรุงความสามารถในการอ่านโค้ด: เพื่อแสดงว่าข้อความบางคำสั่งเป็นหน่วยตรรกะหรือตัวแปรโลคัลบางตัวถูกใช้เฉพาะในบล็อกนั้น มีวิธีสำนวนในการทำสิ่งเดียวกันใน Python หรือไม่?
94 python  scope 

3
ฉันจะใช้คีย์เวิร์ด“ ของฉัน” ใน Perl ได้อย่างไร
ฉันมักจะเห็นคีย์เวิร์ด "ของฉัน" หน้าชื่อตัวแปรในตัวอย่างสคริปต์ Perl ออนไลน์ แต่ฉันไม่รู้ว่ามันหมายถึงอะไร ฉันพยายามอ่านหน้าคู่มือและเว็บไซต์อื่น ๆ ทางออนไลน์ แต่ฉันมีปัญหาในการแยกแยะว่ามันคืออะไรเนื่องจากความแตกต่างระหว่างวิธีที่ฉันเห็นและคู่มือ ตัวอย่างเช่นใช้เพื่อรับความยาวของอาร์เรย์ในโพสต์นี้: ค้นหาขนาดของอาร์เรย์ใน Perl แต่คู่มือบอกว่า: A ของฉันประกาศตัวแปรที่แสดงรายการเป็นโลคัล (ศัพท์) ไปยังบล็อกไฟล์หรือ eval หากมีมากกว่าหนึ่งค่ารายการจะต้องอยู่ในวงเล็บ มันทำอะไรและใช้อย่างไร?

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.