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

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

30
ในที่สุดบล็อกจะถูกเรียกใช้งานใน Java เสมอหรือไม่
เมื่อพิจารณาถึงรหัสนี้ฉันสามารถมั่นใจได้อย่างแน่นอนว่าfinallyบล็อกจะดำเนินการเสมอไม่ว่าsomething()จะเกิดอะไรขึ้น try { something(); return success; } catch (Exception e) { return failure; } finally { System.out.println("I don't know if this will get printed out"); }

14
ฉันจะคืนค่าหลายค่าจากฟังก์ชันได้อย่างไร [ปิด]
ปิด คำถามนี้เป็นคำถามความคิดเห็นตาม ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้สามารถตอบข้อเท็จจริงและการอ้างอิงได้โดยแก้ไขโพสต์นี้ ปิดให้บริการใน2 ปีที่ผ่านมา วิธีที่เป็นที่ยอมรับในการส่งคืนค่าหลายค่าในภาษาที่สนับสนุนมักจะส่งเสียงซ้ำ ตัวเลือก: การใช้ tuple ลองพิจารณาตัวอย่างเล็ก ๆ น้อย ๆ นี้: def f(x): y0 = x + 1 y1 = x * 3 y2 = y0 ** y3 return (y0, y1, y2) อย่างไรก็ตามสิ่งนี้จะได้รับปัญหาอย่างรวดเร็วเนื่องจากจำนวนของค่าที่ส่งคืนเพิ่มขึ้น ถ้าคุณต้องการคืนค่าสี่หรือห้าค่า แน่นอนว่าคุณสามารถติดตามพวกเขาได้ แต่มันก็ง่ายที่จะลืมคุณค่าที่เป็นอยู่ นอกจากนี้ยังค่อนข้างน่าเกลียดที่จะแกะกล่องพวกเขาทุกที่ที่คุณต้องการรับ ตัวเลือก: การใช้พจนานุกรม ขั้นตอนตรรกะถัดไปน่าจะเป็นการแนะนำ 'สัญกรณ์บันทึก' บางประเภท dictในหลามวิธีที่ชัดเจนที่จะทำเช่นนี้คือโดยวิธีการของ พิจารณาสิ่งต่อไปนี้: def …




5
ส่งคืนส่งคืนไม่มีและไม่ส่งคืนเลย?
พิจารณาสามฟังก์ชั่น: def my_func1(): print "Hello World" return None def my_func2(): print "Hello World" return def my_func3(): print "Hello World" พวกเขาทั้งหมดกลับไม่มี มีความแตกต่างระหว่างวิธีการคืนค่าของฟังก์ชั่นเหล่านี้หรือไม่? มีเหตุผลใดที่จะชอบอันหนึ่งกับอีกอัน?
386 python  null  return 

4
วิธีส่งคืนผลลัพธ์จากฟังก์ชัน VBA
ฉันจะส่งคืนผลลัพธ์จากฟังก์ชันได้อย่างไร ตัวอย่างเช่น: Public Function test() As Integer return 1 End Function สิ่งนี้ทำให้เกิดข้อผิดพลาดในการคอมไพล์ ฉันจะทำให้ฟังก์ชันนี้คืนค่าเป็นจำนวนเต็มได้อย่างไร

4
ใน Python ถ้าฉันกลับเข้าไปในบล็อก“ with” ไฟล์จะยังคงปิดหรือไม่
พิจารณาสิ่งต่อไปนี้: with open(path, mode) as f: return [line for line in f if condition] ไฟล์จะปิดอย่างถูกต้องหรือใช้การreturnข้ามบริบทตัวจัดการอย่างใดอย่างหนึ่งหรือไม่

3
วิธีการของจาวาที่มีคอมไพล์ประเภทส่งคืนโดยไม่มีคำสั่งส่งคืน
คำถามที่ 1: ทำไมรหัสต่อไปนี้จึงรวบรวมโดยไม่มีคำสั่ง return public int a() { while(true); } หมายเหตุ: Unreachable Code Errorหากฉันจะเพิ่มผลตอบแทนหลังจากที่ในขณะที่แล้วผมได้รับ คำถามที่ 2: ในทางกลับกันทำไมรหัสต่อไปนี้จึงรวบรวม public int a() { while(0 == 0); } แม้ว่าสิ่งต่อไปนี้จะไม่เป็นเช่นนั้น public int a(int b) { while(b == b); }

17
ส่งคืนอาร์เรย์ในฟังก์ชัน
ฉันมีอาร์เรย์int arr[5]ที่ส่งผ่านไปยังฟังก์ชันfillarr(int arr[]): int fillarr(int arr[]) { for(...); return arr; } ฉันจะคืนค่าอาร์เรย์นั้นได้อย่างไร ฉันจะใช้มันอย่างไรบอกว่าฉันคืนพอยน์เตอร์ให้ฉันจะเข้าถึงได้อย่างไร?

2
ใน JavaScript การกลับมาจากคำสั่ง switch ถือเป็นการปฏิบัติที่ดีกว่าการใช้ตัวแบ่ง?
ตัวเลือกที่ 1 - สลับใช้การส่งคืน: function myFunction(opt) { switch (opt) { case 1: return "One"; case 2: return "Two"; case 3: return "Three"; default: return ""; } } ตัวเลือก 2 - สลับการใช้ตัวแบ่ง: function myFunction(opt) { var retVal = ""; switch (opt) { case 1: retVal = "One"; break; case 2: retVal …

8
return statement เทียบกับ exit () ใน main ()
ฉันควรใช้exit()หรือเพียงแค่returnงบในmain()? โดยส่วนตัวแล้วฉันชอบreturnคำแถลงเพราะฉันรู้สึกว่ามันเหมือนกับการอ่านฟังก์ชั่นอื่น ๆ และการควบคุมการไหลเมื่อฉันอ่านรหัสนั้นราบรื่น (ในความคิดของฉัน) และแม้ว่าฉันต้องการที่จะ refactor main()ฟังก์ชั่นที่มีดูเหมือนจะเป็นทางเลือกที่ดีกว่าreturnexit() มีexit()อะไรพิเศษที่returnทำไม่ได้เหรอ?
197 c++  c  coding-style  return  exit 

8
ฉันจะคืนค่าสองค่าจากฟังก์ชันใน Python ได้อย่างไร
ฉันต้องการคืนค่าสองค่าจากฟังก์ชันในตัวแปรสองตัวที่แยกกัน ตัวอย่างเช่น: def select_choice(): loop = 1 row = 0 while loop == 1: print('''Choose from the following options?: 1. Row 1 2. Row 2 3. Row 3''') row = int(input("Which row would you like to move the card from?: ")) if row == 1: i = 2 card = …

6
กลับมาจากการบล็อกในที่สุดใน Java
ฉันรู้สึกประหลาดใจเมื่อเร็ว ๆ นี้ที่พบว่ามีความเป็นไปได้ที่จะมีข้อความสั่งคืนในบล็อกสุดท้ายใน Java ดูเหมือนว่าผู้คนจำนวนมากคิดว่ามันเป็นเรื่องเลวร้ายที่ต้องทำตามที่อธิบายไว้ใน ' อย่ากลับมาในประโยคสุดท้าย ' เกาอีกเล็กน้อยฉันพบ ' การกลับมาของ Java ไม่เสมอไป ' ซึ่งแสดงตัวอย่างที่น่ากลัวเกี่ยวกับการควบคุมการไหลประเภทอื่น ๆ ในบล็อกในที่สุด ดังนั้นคำถามของฉันคือทุกคนสามารถให้ฉันตัวอย่างที่คำสั่งคืน (หรือการควบคุมการไหลอื่น ๆ ) ในที่สุดบล็อกสร้างรหัสที่อ่านได้ดีขึ้น / มากขึ้น?

24
วิธีคืนวัตถุจำนวนมากจากวิธีการ Java?
ฉันต้องการส่งคืนวัตถุสองรายการจากวิธีการของจาวาและสงสัยว่าอะไรจะเป็นวิธีที่ดีในการทำเช่นนั้น? วิธีการที่เป็นไปได้ที่ฉันสามารถคิดคือผลตอบแทนHashMap(ตั้งแต่วัตถุทั้งสองมีความสัมพันธ์กัน) หรือกลับArrayListของObjectวัตถุ เพื่อให้แม่นยำยิ่งขึ้นวัตถุสองรายการที่ฉันต้องการส่งคืนคือ (a) Listของวัตถุและ (b) คั่นด้วยเครื่องหมายจุลภาคของชื่อเดียวกัน ฉันต้องการคืนค่า Objects ทั้งสองนี้จากวิธีหนึ่งเพราะฉันไม่ต้องการวนซ้ำรายการของวัตถุเพื่อรับชื่อที่คั่นด้วยเครื่องหมายจุลภาค (ซึ่งฉันสามารถทำได้ในลูปเดียวกันในวิธีนี้) ยังไงก็เถอะการกลับ a HashMapไม่ได้ดูเป็นวิธีที่สง่างามมากในการทำเช่นนั้น
172 java  return 

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