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

ฟังก์ชั่น (เรียกอีกอย่างว่าโพรซีเดอร์เมธอดรูทีนย่อยหรือรูทีน) เป็นส่วนของรหัสที่มีวัตถุประสงค์เพื่อดำเนินงานเดี่ยวที่เฉพาะเจาะจง ใช้แท็กนี้สำหรับคำถามที่เกี่ยวข้องกับการสร้างหรือการเรียกฟังก์ชั่นโดยเฉพาะ สำหรับความช่วยเหลือในการใช้ฟังก์ชั่นเพื่อทำงานให้ใช้ [อัลกอริทึม] หรือแท็กเฉพาะงานแทน

4
การใช้ const อย่างเหมาะสมเพื่อกำหนดฟังก์ชันใน JavaScript
ฉันสนใจถ้ามีข้อ จำกัด ใด ๆ กับประเภทของค่าที่สามารถตั้งค่าได้โดยใช้constใน JavaScript - ในฟังก์ชั่นเฉพาะ ถูกต้องหรือไม่ ได้รับมันใช้งานได้ แต่มันถือว่าเป็นการปฏิบัติที่ไม่ดีไม่ว่าด้วยเหตุผลใด? const doSomething = () => { ... } ควรกำหนดฟังก์ชั่นทั้งหมดด้วยวิธีนี้ใน ES6 หรือไม่ ดูเหมือนว่าจะไม่เป็นเช่นนี้ถ้าเป็นเช่นนั้น ขอบคุณสำหรับความคิดเห็นใด ๆ !

6
ฟังก์ชั่นหลามสูงสุดโดยใช้ 'สำคัญ' และการแสดงออกแลมบ์ดา
ฉันมาจากพื้นหลังของ OOP และพยายามเรียนรู้หลาม ฉันใช้maxฟังก์ชั่นที่ใช้การแสดงออกแลมบ์ดาจะกลับมาเช่นชนิดที่Playerมีสูงสุดในหมู่รายการtotalScoreplayers def winner(): w = max(players, key=lambda p: p.totalScore) ฟังก์ชั่นได้อย่างถูกต้องส่งกลับตัวอย่างของประเภทมีสูงสุดPlayer totalScoreฉันสับสนเกี่ยวกับสามสิ่งต่อไปนี้: วิธีการที่ไม่maxทำงานฟังก์ชั่น? อะไรคือข้อโต้แย้งที่กำลังเกิดขึ้น? ฉันดูเอกสาร แต่ไม่เข้าใจ คำหลักที่ใช้keyในฟังก์ชั่นสูงสุดคืออะไร? ฉันรู้ว่ามันใช้ในบริบทของsortฟังก์ชั่น ความหมายของการแสดงออกแลมบ์ดา? อ่านอย่างไร พวกเขาทำงานอย่างไร ทั้งหมดนี้เป็นคำถามเชิงแนวคิดที่ไม่มีเสียงรบกวนมาก แต่จะช่วยให้ฉันเข้าใจภาษา มันจะช่วยถ้าคุณสามารถยกตัวอย่างเพื่ออธิบาย ขอบคุณ
181 python  function  lambda 

15
วิธีการคืนค่า 2 จากวิธีการจาวา?
ฉันพยายามคืนค่า 2 ค่าจากวิธี Java แต่ฉันได้รับข้อผิดพลาดเหล่านี้ นี่คือรหัสของฉัน: // Method code public static int something(){ int number1 = 1; int number2 = 2; return number1, number2; } // Main method code public static void main(String[] args) { something(); System.out.println(number1 + number2); } ข้อผิดพลาด: Exception in thread "main" java.lang.RuntimeException: Uncompilable source code - …

4
ฟังก์ชั่นท้องถิ่นกับแลมบ์ดา C # 7.0
ฉันกำลังดูการใช้งานใหม่ในC # 7.0และฉันคิดว่ามันน่าสนใจที่พวกเขาได้ใช้ฟังก์ชั่นในท้องถิ่น แต่ฉันไม่สามารถจินตนาการถึงสถานการณ์ที่ฟังก์ชั่นในท้องถิ่นจะได้รับความนิยมมากกว่าการแสดงออกแลมบ์ดา ฉันเข้าใจว่า lambdas เป็นanonymousฟังก์ชั่นในขณะที่ฟังก์ชั่นในท้องถิ่นไม่ได้ แต่ฉันไม่สามารถเข้าใจสถานการณ์โลกแห่งความเป็นจริงได้ซึ่งฟังก์ชั่นในท้องถิ่นมีข้อได้เปรียบมากกว่าการแสดงออกแลมบ์ดา ตัวอย่างใด ๆ จะได้รับการชื่นชมมาก ขอบคุณ
178 c#  function  lambda  c#-7.0 

10
ข้อผิดพลาด: ไม่พบฟังก์ชัน ... ใน R
นี่เป็นคำถามที่พบบ่อยดังนั้นโปรดทำให้เสร็จสมบูรณ์มากที่สุด คำตอบคือคำตอบของชุมชนดังนั้นอย่าลังเลที่จะแก้ไขหากคุณคิดว่ามีบางอย่างขาดหายไป คำถามนี้ถูกพูดคุยและอนุมัติในเมตาดาต้า ฉันใช้ R และพยายามsome.functionแต่ฉันได้รับข้อความแสดงข้อผิดพลาด: Error: could not find function "some.function" คำถามนี้เกิดขึ้นอย่างสม่ำเสมอ เมื่อคุณได้รับข้อผิดพลาดประเภทนี้ใน R คุณจะแก้ไขได้อย่างไร

12
ไม่จำเป็นต้องใช้เครื่องหมายอัฒภาค (';') หลังจากการประกาศฟังก์ชันใน C ++ หรือไม่
ฉันเพิ่งทำแบบทดสอบการเขียนโปรแกรมระดับกลางและหนึ่งในคำถามที่ฉันผิดคือ: ไม่จำเป็นต้องใช้เครื่องหมายอัฒภาค (';') หลังจากการประกาศฟังก์ชัน จริงหรือเท็จ ฉันเลือก "false" (และโปรดแก้ไขให้ฉันถ้าฉันผิดเพราะฉันรู้สึกว่าฉันกำลังบ้า) การประกาศฟังก์ชั่นคือสิ่งที่คุณเขียนก่อนคำจำกัดความ (ที่ด้านบนสุดของโค้ด) ดังนั้นคอมไพเลอร์จึงรู้หน้าที่ เรียกก่อนแม้แต่เรียกมันและนิยามฟังก์ชั่นเป็นสิ่งที่ทำให้ฟังก์ชั่นโดยรวม กล่าวคือ ประกาศ: int func(); ความหมาย: int func() { return 1; } คำตอบสำหรับเรื่องนี้ไม่ควรเป็นเท็จหรือ

3
ความแตกต่างระหว่าง . และ: ใน Lua
ฉันสับสนเกี่ยวกับความแตกต่างระหว่างฟังก์ชั่นการโทรผ่าน.และผ่าน: > x = {foo = function(a,b) return a end, bar = function(a,b) return b end, } > return x.foo(3,4) 3 > return x.bar(3,4) 4 > return x:foo(3,4) table: 0x10a120 > return x:bar(3,4) 3 กำลัง:ทำอะไรอยู่?
174 function  lua 

8
ผ่านสตริงที่มีช่องว่างเป็นอาร์กิวเมนต์ฟังก์ชั่นในทุบตี
ฉันกำลังเขียนสคริปต์ทุบตีที่ฉันต้องการส่งสตริงที่มีช่องว่างไปยังฟังก์ชันในสคริปต์ทุบตีของฉัน ตัวอย่างเช่น: #!/bin/bash myFunction { echo $1 echo $2 echo $3 } myFunction "firstString" "second string with spaces" "thirdString" เมื่อเรียกใช้ผลลัพธ์ที่ฉันต้องการคือ: firstString second string with spaces thirdString อย่างไรก็ตามสิ่งที่เอาท์พุทคือ: firstString second string มีวิธีการส่งผ่านสตริงที่มีช่องว่างเป็นอาร์กิวเมนต์เดียวกับฟังก์ชั่นในทุบตี?
173 bash  function 

15
JavaScript แกง: การใช้งานจริงคืออะไร?
ฉันคิดว่าฉันยังไม่ได้บ่นหรอก ฉันเข้าใจว่ามันทำอะไรและทำอย่างไร ฉันไม่สามารถนึกถึงสถานการณ์ที่ฉันจะใช้มันได้ คุณใช้ currying ใน JavaScript อยู่ที่ไหน (หรือใช้ห้องสมุดหลักอยู่ที่ไหน) ยินดีต้อนรับสู่การจัดการ DOM หรือตัวอย่างการพัฒนาแอปพลิเคชันทั่วไป หนึ่งในคำตอบที่กล่าวถึงภาพเคลื่อนไหว ฟังก์ชั่นเช่นslideUp, fadeInใช้องค์ประกอบเป็นข้อโต้แย้งและเป็นปกติฟังก์ชั่นแกงกะหรี่กลับฟังก์ชั่นการสั่งซื้อสูงที่มีการเริ่มต้น“ฟังก์ชั่นนิเมชั่น” ในตัว ทำไมจึงดีกว่าเพียงแค่ใช้ฟังก์ชั่นที่สูงขึ้นด้วยค่าเริ่มต้นบางส่วน มีข้อ จำกัด ในการใช้งานหรือไม่? ตามที่ร้องขอนี่เป็นแหล่งข้อมูลที่ดีเกี่ยวกับการแก้ปัญหา JavaScript: http://www.dustindiaz.com/javascript-curry/ Crockford, Douglas (2008) JavaScript: The Good Parts http://www.svendtofte.com/code/curried_javascript/ (ใช้ทางอ้อมเข้าสู่ ML ดังนั้นให้ข้ามส่วนทั้งหมดจาก“ A crash course in ML” และเริ่มต้นอีกครั้งที่“ วิธีการเขียน JavaScript curated”) http://web.archive.org/web/20111217011630/http://blog.morrisjohns.com:80/javascript_closures_for_dummies การปิด JavaScript ทำงานอย่างไร http://ejohn.org/blog/partial-functions-in-javascript (Mr. Resig …

11
จะส่งอีเมลด้วย Python ได้อย่างไร
รหัสนี้ใช้งานได้และส่งอีเมลถึงฉัน: import smtplib #SERVER = "localhost" FROM = 'monty@python.com' TO = ["jon@mycompany.com"] # must be a list SUBJECT = "Hello!" TEXT = "This message was sent with Python's smtplib." # Prepare actual message message = """\ From: %s To: %s Subject: %s %s """ % (FROM, ", ".join(TO), SUBJECT, TEXT) …

6
การใช้วัตถุมาตรฐานทั่วไป :: ฟังก์ชั่นที่มีฟังก์ชั่นสมาชิกในชั้นหนึ่ง
สำหรับคลาสหนึ่งฉันต้องการเก็บพอยน์เตอร์ของฟังก์ชั่นบางส่วนไว้ในฟังก์ชั่นสมาชิกของคลาสเดียวกันในวัตถุที่mapเก็บหนึ่งstd::functionอัน แต่ฉันล้มเหลวในตอนแรกด้วยรหัสนี้: class Foo { public: void doSomething() {} void bindFunction() { // ERROR std::function<void(void)> f = &Foo::doSomething; } }; ฉันจะได้รับerror C2064: term does not evaluate to a function taking 0 argumentsในการxxcallobjรวมกับข้อผิดพลาดบาง instantiation แม่แบบแปลก ๆ ขณะนี้ฉันกำลังทำงานกับ Windows 8 ด้วย Visual Studio 2010/2011 และใน Win 7 ด้วย VS10 ก็ล้มเหลวเช่นกัน ข้อผิดพลาดจะต้องขึ้นอยู่กับกฎ C …

7
ทำไมฉันถึงใช้ฟังก์ชั่นก่อนที่มันจะถูกกำหนดใน JavaScript?
รหัสนี้ใช้งานได้แม้ในเบราว์เซอร์ที่แตกต่างกัน: function fooCheck() { alert(internalFoo()); // We are using internalFoo() here... return internalFoo(); // And here, even though it has not been defined... function internalFoo() { return true; } //...until here! } fooCheck(); ฉันไม่สามารถหาข้อมูลอ้างอิงเดียวว่าทำไมมันควรทำงาน ฉันเห็นสิ่งนี้เป็นครั้งแรกในบันทึกการนำเสนอของ John Resig แต่มีการพูดถึงเท่านั้น ไม่มีคำอธิบายใด ๆ ในนั้น มีคนช่วยสอนฉันได้มั้ย

7
วิธี“ แก้ไข” เพื่อระบุอาร์กิวเมนต์ที่เลือกระบุได้ในฟังก์ชัน R
ฉันสนใจในสิ่งที่เป็น "วิธีที่ถูกต้อง" ในการเขียนฟังก์ชันด้วยอาร์กิวเมนต์ที่เป็นตัวเลือกใน R เมื่อเวลาผ่านไปฉันสะดุดโค้ดสองสามชิ้นที่ใช้เส้นทางอื่นที่นี่และฉันไม่สามารถหาตำแหน่งที่เหมาะสม (เป็นทางการ) ในหัวข้อนี้ จนถึงตอนนี้ฉันได้เขียนข้อโต้แย้งเพิ่มเติมดังนี้: fooBar <- function(x,y=NULL){ if(!is.null(y)) x <- x+y return(x) } fooBar(3) # 3 fooBar(3,1.5) # 4.5 ฟังก์ชั่นเพียงแค่ส่งกลับข้อโต้แย้งของมันถ้าxมีให้เท่านั้น มันใช้ค่าเริ่มต้นNULLสำหรับอาร์กิวเมนต์ที่สองและหากอาร์กิวเมนต์นั้นไม่เป็นNULLเช่นนั้นฟังก์ชันจะเพิ่มตัวเลขสองตัว อีกทางเลือกหนึ่งสามารถเขียนฟังก์ชั่นเช่นนี้ (โดยที่อาร์กิวเมนต์ที่สองจำเป็นต้องระบุด้วยชื่อ แต่สามารถunlist(z)ระบุหรือกำหนดz <- sum(...)แทนได้): fooBar <- function(x,...){ z <- list(...) if(!is.null(z$y)) x <- x+z$y return(x) } fooBar(3) # 3 fooBar(3,y=1.5) # 4.5 ส่วนตัวแล้วฉันชอบเวอร์ชั่นแรกมากกว่า อย่างไรก็ตามฉันเห็นทั้งดีและไม่ดีได้ทั้งคู่ …
165 r  function 

16
การขยายวัตถุใน Javascript
ขณะนี้ฉันกำลังเปลี่ยนจาก Java เป็น Javascript และเป็นเรื่องยากสำหรับฉันที่จะหาวิธีขยายวัตถุในแบบที่ฉันต้องการ ฉันเคยเห็นหลายคนบนอินเทอร์เน็ตใช้วิธีที่เรียกว่าขยายบนวัตถุ รหัสจะมีลักษณะดังนี้: var Person = { name : 'Blank', age : 22 } var Robot = Person.extend({ name : 'Robo', age : 4 )} var robot = new Robot(); alert(robot.name); //Should return 'Robo' ไม่มีใครรู้วิธีการทำงานนี้หรือไม่? ฉันได้ยินมาว่าคุณต้องเขียน Object.prototype.extend = function(...); แต่ฉันไม่รู้ว่าจะทำให้ระบบนี้ทำงานได้อย่างไร ถ้ามันเป็นไปไม่ได้โปรดแสดงอีกทางเลือกหนึ่งที่ขยายวัตถุ

3
อะไรคือวิธีที่ดีที่สุดในการออกจากฟังก์ชั่น (ซึ่งไม่มีค่าตอบแทน) ในไพ ธ อนก่อนที่ฟังก์ชั่นจะสิ้นสุดลง (เช่นการตรวจสอบล้มเหลว)?
สมมติว่ามีการวนซ้ำซึ่งเราเรียกใช้ฟังก์ชันโดยไม่มีค่าส่งคืน วิธีที่ฉันคิดว่าโปรแกรมของฉันควรมีการอธิบายในรหัสเทียมนี้: for element in some_list: foo(element) def foo(element): do something if check is true: do more (because check was succesful) else: return None do much much more... Noneถ้าผมดำเนินการนี้ในหลามมันรบกวนจิตใจผมว่าฟังก์ชั่นส่งกลับ มีวิธีที่ดีกว่าสำหรับ "ออกจากฟังก์ชันที่ไม่มีค่าส่งคืนหรือไม่หากการตรวจสอบล้มเหลวในเนื้อความของฟังก์ชัน"
164 python  function  return 

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