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

ประเภทที่ไม่สมบูรณ์ที่ใช้เป็นตัวยึดเชิงไวยากรณ์สำหรับประเภทการส่งคืนของวิธีการ / ฟังก์ชันเมื่อไม่มีการส่งคืนค่า


10
วิธีการจำลองโมฆะด้วย Mockito
วิธีการเยาะเย้ยวิธีการที่มีประเภทผลตอบแทนเป็นโมฆะ? ฉันใช้รูปแบบการสังเกตการณ์ แต่ไม่สามารถเยาะเย้ยกับ Mockito ได้เพราะฉันไม่รู้ว่าจะทำอย่างไร และฉันพยายามค้นหาตัวอย่างบนอินเทอร์เน็ต แต่ไม่ประสบความสำเร็จ ชั้นเรียนของฉันมีลักษณะเช่นนี้: public class World { List<Listener> listeners; void addListener(Listener item) { listeners.add(item); } void doAction(Action goal,Object obj) { setState("i received"); goal.doAction(obj); setState("i finished"); } private string state; //setter getter state } public class WorldTest implements Listener { @Test public void word{ World w= …

9
Java 8 lambda Void โต้แย้ง
สมมติว่าฉันมีส่วนต่อประสานการทำงานใน Java 8: interface Action<T, U> { U execute(T t); } และสำหรับบางกรณีฉันต้องการการดำเนินการโดยไม่มีข้อโต้แย้งหรือประเภทการคืนสินค้า ดังนั้นฉันจึงเขียนสิ่งนี้: Action<Void, Void> a = () -> { System.out.println("Do nothing!"); }; อย่างไรก็ตามมันทำให้ฉันรวบรวมข้อผิดพลาดฉันต้องเขียนมันเป็น Action<Void, Void> a = (Void v) -> { System.out.println("Do nothing!"); return null;}; ซึ่งน่าเกลียด มีวิธีกำจัดVoidพารามิเตอร์ประเภทหรือไม่
188 java  lambda  java-8  void 

11
ใช้สำหรับประเภทการอ้างอิง Java Void หรือไม่
ตั้งค่าใหม่แล้วStack Overflow ที่ทับซ้อนกัน: Зачемнуженклассเป็นโมฆะ? มี Java เป็นVoidตัวพิมพ์ใหญ่ V-- - ชนิดการอ้างอิง สถานการณ์เดียวที่ฉันเคยเห็นมันมาใช้คือการ parameterize Callables final Callable<Void> callable = new Callable<Void>() { public Void call() { foobar(); return null; } }; มีการใช้งานอื่น ๆ สำหรับVoidประเภทอ้างอิงJava ? จะสามารถมอบหมายสิ่งอื่นนอกเหนือจากนี้ได้nullหรือไม่? ถ้าใช่คุณมีตัวอย่างไหม
163 java  void 

5
วิธีที่ดีกว่า (สะอาดกว่า) ในการละเว้นเอาต์พุตใน PowerShell คืออะไร? [ปิด]
ปิด . คำถามนี้เป็นคำถามความคิดเห็นตาม ขณะนี้ยังไม่ยอมรับคำตอบ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้สามารถตอบพร้อมข้อเท็จจริงและการอ้างอิงได้โดยแก้ไขโพสต์นี้ ปิดให้บริการเมื่อปีที่แล้ว ปรับปรุงคำถามนี้ สมมติว่าคุณมี method หรือ cmdlet ที่คืนค่าบางอย่าง แต่คุณไม่ต้องการใช้และไม่ต้องการส่งออก ฉันพบสองวิธีนี้: Add-Item > $null [void]Add-Item Add-Item | Out-Null คุณใช้อะไร? แนวทางใดที่ดีกว่า / สะอาดกว่า ทำไม?
139 powershell  null  void 

2
คำอธิบายประกอบประเภทการส่งคืน Python เป็นโมฆะ
ใน python 3.x เป็นเรื่องปกติที่จะใช้คำอธิบายประกอบชนิด return ของฟังก์ชันเช่น: def foo() -> str: return "bar" คำอธิบายประกอบที่ถูกต้องสำหรับประเภท "โมฆะ" คืออะไร? ฉันกำลังพิจารณา 3 ตัวเลือก: def foo() -> None: ไม่ใช่ IMO เชิงตรรกะเพราะNoneไม่ใช่ประเภท def foo() -> type(None): โดยใช้ไวยากรณ์ที่ดีที่สุดที่ฉันรู้จักเพื่อให้ได้NoneTypeมา def foo(): ละเว้นข้อมูลประเภทการส่งคืนที่ชัดเจน ตัวเลือกที่ 2 ดูเหมือนจะสมเหตุสมผลที่สุดสำหรับฉัน แต่ฉันได้เห็นบางกรณีของ 1 แล้ว

6
ฉันจะส่งคืนอะไรหากประเภทการส่งคืนของเมธอดเป็นโมฆะ (ไม่เป็นโมฆะ!)
เนื่องจากการใช้ Generics ใน Java ฉันจึงต้องใช้ฟังก์ชันที่มีVoidประเภท return: public Void doSomething() { //... } และคอมไพเลอร์เรียกร้องให้ผมกลับมาบางสิ่งบางอย่าง ตอนนี้ฉันเพิ่งกลับมาnullแต่ฉันสงสัยว่านั่นเป็นการฝึกเขียนโค้ดที่ดีหรือไม่ ... ฉันกำลังถามเกี่ยวกับV ‌oid ไม่ใช่v ‌oid ชั้นVoid, ไม่voidคำหลักที่สงวนไว้ ฉันได้ลองVoid.classแล้วvoidเช่นVoid.TYPEกันnew Void()ไม่กลับมาเลย แต่ทั้งหมดนั้นไม่ได้ผลเลย (ด้วยเหตุผลที่ชัดเจนมากหรือน้อย) (ดูรายละเอียดคำตอบนี้ ) แล้วฉันควรจะส่งคืนอะไรถ้าประเภทการส่งคืนของฟังก์ชันคือVoidอะไร? การใช้งานทั่วไปของVoidคลาสคืออะไร?
115 java  generics  void 

9
เหตุใดจึงส่งคืนค่าที่ไม่ได้ใช้ให้เป็นโมฆะ
int fn(); void whatever() { (void) fn(); } มีเหตุผลใดที่ทำให้ค่าตอบแทนที่ไม่ได้ใช้กลายเป็นโมฆะหรือฉันคิดถูกแล้วที่คิดว่ามันเสียเวลาไปเปล่า ๆ ? ติดตาม: ดูเหมือนว่าจะค่อนข้างครอบคลุม ฉันคิดว่าดีกว่าการแสดงความคิดเห็นเกี่ยวกับค่าส่งคืนที่ไม่ได้ใช้เนื่องจากรหัสการจัดทำเอกสารด้วยตนเองดีกว่าความคิดเห็น โดยส่วนตัวฉันจะปิดคำเตือนเหล่านี้เนื่องจากเป็นเสียงที่ไม่จำเป็น ฉันจะกินคำพูดของฉันถ้าแมลงหนีเพราะมัน ...
112 c++  c  void 

2
วิธีสร้างฟังก์ชันที่ไม่คืนค่าอะไร
ฉันต้องการเขียนฟังก์ชันด้วยpl/pgsql. ฉันใช้PostgresEnterprise Manager v3และใช้เชลล์เพื่อสร้างฟังก์ชัน แต่ในเชลล์ฉันต้องกำหนดประเภทผลตอบแทน ถ้าฉันไม่กำหนดประเภทการส่งคืนฉันจะไม่สามารถสร้างฟังก์ชันได้ จะสร้างฟังก์ชันที่ไม่มีผลตอบแทนได้อย่างไรเช่น Function ที่สร้างตารางใหม่

2
เหตุใดจึงส่งค่าพารามิเตอร์ของฟังก์ชันที่ไม่ได้ใช้ให้เป็นโมฆะ
ในโครงการ C บางโครงการฉันเห็นรหัสนี้: static void *l_alloc (void *ud, void *ptr, size_t osize, size_t nsize) { (void)ud; (void)osize; /* some code not using `ud` or `osize` */ return ptr; } การร่ายทั้งสองเป็นโมฆะมีจุดประสงค์ใดหรือไม่?
98 c  casting  void 

11
การใช้วิธีกลับภายในโมฆะเป็นวิธีปฏิบัติที่ไม่ดีหรือไม่?
ลองนึกภาพรหัสต่อไปนี้: void DoThis() { if (!isValid) return; DoThat(); } void DoThat() { Console.WriteLine("DoThat()"); } สามารถใช้ return ภายใน void method ได้หรือไม่? มันมีโทษประสิทธิภาพหรือไม่? หรือจะดีกว่าถ้าเขียนโค้ดแบบนี้: void DoThis() { if (isValid) { DoThat(); } }
92 c#  return  void 

4
เหตุใด Java 8 lambda นี้จึงไม่สามารถคอมไพล์ได้
คอมไพล์โค้ด Java ต่อไปนี้ไม่สำเร็จ: @FunctionalInterface private interface BiConsumer<A, B> { void accept(A a, B b); } private static void takeBiConsumer(BiConsumer<String, String> bc) { } public static void main(String[] args) { takeBiConsumer((String s1, String s2) -> new String("hi")); // OK takeBiConsumer((String s1, String s2) -> "hi"); // Error } คอมไพเลอร์รายงาน: Error:(31, 58) …

3
ทำไมมูลค่าส่งคืนฟรีของนักแสดงจึงเป็นโมฆะ?
ฉันกำลังอ่านหนังสือ ( การเขียนโปรแกรมด้วย POSIX Threadsโดย Butenhof, 1997) ที่ใช้ C และฉันเจอบรรทัดต่อไปนี้: (void)free(data); นี่dataเป็นเพียงตัวชี้ไปยังโครงสร้างที่ปันส่วน data = malloc(sizeof(my_struct_t)); ทำไมเป็นผลมาจากfreeการถูกโยนไปvoid? จากความเข้าใจของฉันเกี่ยวกับ C สิ่งนี้ดูเหมือนจะไม่สมเหตุสมผลด้วยสองเหตุผล: ฟังก์ชันฟรีส่งคืนแล้ว void รหัสไม่ได้ใช้ค่าส่งคืน (มันไม่ได้ถูกกำหนดให้กับตัวแปร) หนังสือเล่มนี้เขียนขึ้นในปี 1997 นี่เป็นเรื่องของมรดกหรือเปล่า ผู้เขียนกล่าวว่าตัวอย่างทำงานบน Digital Unix 4.0d แต่ฉันก็ยังนึกภาพไม่ออกว่ามีเหตุผลอะไรที่จะส่งผลของฟังก์ชั่นหากคุณไม่ได้ใช้ผลลัพธ์นั้น
82 c  casting  free  void  legacy-code 
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.