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

อาร์กิวเมนต์คือค่าที่ส่งผ่านไปยังฟังก์ชันโพรซีเดอร์หรือโปรแกรมบรรทัดคำสั่ง สิ่งนี้ยังอ้างถึงออบเจ็กต์ `อาร์กิวเมนต์เหมือน Array ใน JavaScript


8
TypeError: method () ใช้เวลา 1 อาร์กิวเมนต์ตำแหน่ง แต่ได้รับ 2
ถ้าฉันมีคลาส ... class MyClass: def method(arg): print(arg) ... ที่ฉันใช้ในการสร้างวัตถุ ... my_object = MyClass() ... ที่ฉันเรียกmethod("foo")เช่นนั้น ... >>> my_object.method("foo") Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: method() takes exactly 1 positional argument (2 given) ... ทำไมหลามถึงบอกว่าฉันให้สองข้อโต้แย้งเมื่อฉันให้เพียงอันเดียว?

14
jQuery ส่งพารามิเตอร์เพิ่มเติมไปที่ callback
มีวิธีการส่งผ่านข้อมูลมากขึ้นในฟังก์ชั่นการโทรกลับใน jQuery หรือไม่? ฉันมีสองฟังก์ชั่นและฉันต้องการให้โทรกลับไปที่$.postตัวอย่างเช่นเพื่อส่งผ่านทั้งข้อมูลผลลัพธ์ของการโทร AJAX เช่นเดียวกับข้อโต้แย้งที่กำหนดเองบางอย่าง function clicked() { var myDiv = $("#my-div"); // ERROR: Says data not defined $.post("someurl.php",someData,doSomething(data, myDiv),"json"); // ERROR: Would pass in myDiv as curData (wrong) $.post("someurl.php",someData,doSomething(data, myDiv),"json"); } function doSomething(curData, curDiv) { } ฉันต้องการส่งผ่านพารามิเตอร์ของตัวเองไปยังการโทรกลับรวมถึงผลลัพธ์ที่ได้จากการโทร AJAX

4
มีความแตกต่างระหว่าง foo (void) และ foo () ใน C ++ หรือ C หรือไม่
พิจารณานิยามฟังก์ชันทั้งสองนี้: void foo() { } void foo(void) { } มีความแตกต่างระหว่างสองคนนี้ไหม? ถ้าไม่เป็นเช่นนั้นทำไมจึงมีการvoidโต้แย้ง? เหตุผลด้านความงาม?
253 c++  c  arguments 

13
วิธีที่ดีที่สุดในการพิจารณาว่าอาร์กิวเมนต์ไม่ได้ถูกส่งไปยังฟังก์ชัน JavaScript
ตอนนี้ฉันได้เห็น 2 วิธีในการพิจารณาว่ามีการส่งผ่านอาร์กิวเมนต์ไปยังฟังก์ชัน JavaScript หรือไม่ ฉันสงสัยว่าวิธีหนึ่งดีกว่าวิธีอื่นหรือไม่หรือวิธีใดวิธีหนึ่งที่ใช้ไม่ดี function Test(argument1, argument2) { if (Test.arguments.length == 1) argument2 = 'blah'; alert(argument2); } Test('test'); หรือ function Test(argument1, argument2) { argument2 = argument2 || 'blah'; alert(argument2); } Test('test'); เท่าที่ฉันสามารถบอกได้พวกเขาทั้งคู่ต่างก็ให้ผลลัพธ์เหมือนกัน แต่ฉันเคยใช้ตัวแรกมาก่อนในการผลิต ตัวเลือกอื่นตามที่Tomกล่าวถึง: function Test(argument1, argument2) { if(argument2 === null) { argument2 = 'blah'; } alert(argument2); } …

3
การเขียนสคริปต์ bash: หากอาร์กิวเมนต์มีค่าเท่ากับสตริงนี้ให้กำหนดตัวแปรเช่นเดียวกับสตริงนี้
ฉันกำลังทำสคริปต์ทุบตีและตอนนี้ฉันได้รับการเรียกตัวแปรsourceหนึ่งและหนึ่งอาร์เรย์เรียกว่าsamplesเช่นนี้: source='country' samples=(US Canada Mexico...) เนื่องจากฉันต้องการขยายจำนวนแหล่งข้อมูล (และแหล่งที่มาแต่ละแห่งมีตัวอย่างของตัวเอง) ฉันพยายามเพิ่มอาร์กิวเมนต์บางอย่างเพื่อทำสิ่งนี้ ฉันลองสิ่งนี้: source="" samples=("") if [ $1="country" ]; then source="country" samples="US Canada Mexico..." else echo "try again" fi แต่เมื่อฉันเรียกใช้สคริปต์ของฉันsource countries.sh countryมันไม่ทำงาน ผมทำอะไรผิดหรือเปล่า?

5
ความแตกต่างระหว่าง _tmain () และ main () ใน C ++ คืออะไร
ถ้าฉันรันแอปพลิเคชัน C ++ ด้วยวิธี main () ต่อไปนี้ทุกอย่างก็โอเค: int main(int argc, char *argv[]) { cout << "There are " << argc << " arguments:" << endl; // Loop through each argument and print its number and value for (int i=0; i<argc; i++) cout << i << " " << argv[i] << …
224 c++  unicode  arguments 

2
ฉันจะสร้างฟังก์ชัน Python ด้วยอาร์กิวเมนต์ที่เป็นทางเลือกได้อย่างไร
ฉันมีฟังก์ชั่น Python ซึ่งใช้อาร์กิวเมนต์หลายตัว อาจมีการข้ามข้อโต้แย้งบางอย่างในบางสถานการณ์ def some_function (self, a, b, c, d = None, e = None, f = None, g = None, h = None): #code ข้อโต้แย้งdผ่านhคือสตริงที่แต่ละอันมีความหมายต่างกัน เป็นสิ่งสำคัญที่ฉันสามารถเลือกพารามิเตอร์ทางเลือกที่จะผ่านในชุดค่าผสมใด ๆ ตัวอย่างเช่น(a, b, C, d, e)หรือ(a, b, C, g, h)หรือ(a, b, C, d, e, fหรือทั้งหมด (นี่คือตัวเลือกของฉัน) มันจะดีมากถ้าฉันสามารถโอเวอร์โหลดฟังก์ชั่น - แต่ฉันอ่านว่า Python ไม่รองรับการโอเวอร์โหลด ฉันพยายามแทรกอาร์กิวเมนต์บางตัวที่จำเป็นในรายการ …


5
ความหมายของข้อผิดพลาด“ [: มีอาร์กิวเมนต์มากเกินไป” จากถ้า [] (วงเล็บเหลี่ยม)
ฉันไม่พบทรัพยากรที่ตรงไปตรงมาเรียบง่ายสะกดความหมายของและแก้ไขข้อผิดพลาดเชลล์ BASH ต่อไปนี้ดังนั้นฉันโพสต์สิ่งที่ฉันพบหลังจากทำการวิจัย ข้อผิดพลาด: -bash: [: too many arguments รุ่นที่เหมาะกับ bash open square bracket colon too many argumentsGoogle: บริบท:เงื่อนไข if ในวงเล็บเหลี่ยมเดียวที่มีตัวดำเนินการเปรียบเทียบอย่างง่ายเช่นเท่ากับมากกว่า ฯลฯ ตัวอย่างเช่น: VARIABLE=$(/some/command); if [ $VARIABLE == 0 ]; then # some action fi

10
find: อาร์กิวเมนต์ที่ขาดหายไปถึง -exec
ฉันได้รับความช่วยเหลือในวันนี้ด้วยคำสั่ง แต่ดูเหมือนจะไม่ทำงาน นี่คือคำสั่ง: find /home/me/download/ -type f -name "*.rm" -exec ffmpeg -i {} -sameq {}.mp3 && rm {}\; เชลล์ส่งคืน find: missing argument to `-exec' สิ่งที่ฉันพยายามทำโดยทั่วไปคือไปที่ไดเรกทอรีซ้ำ (ถ้ามีไดเรกทอรีอื่น) และเรียกใช้คำสั่ง ffmpeg กับ.rmประเภทไฟล์และแปลงเป็น.mp3ประเภทไฟล์ เมื่อเสร็จแล้วให้ลบ.rmไฟล์ที่เพิ่งถูกแปลง ฉันขอขอบคุณความช่วยเหลือในเรื่องนี้
206 bash  shell  find  arguments  exec 

10
ฟังก์ชั่นการโอเวอร์โหลดของ PHP
มาจากพื้นหลัง C ++;) ฉันจะโอเวอร์โหลดฟังก์ชัน PHP ได้อย่างไร นิยามฟังก์ชันหนึ่งถ้ามีอาร์กิวเมนต์ใด ๆ และอีกอันถ้าไม่มีอาร์กิวเมนต์? เป็นไปได้ใน PHP? หรือฉันควรใช้ถ้าอื่นเพื่อตรวจสอบว่ามีพารามิเตอร์ใด ๆ ที่ส่งผ่านจาก $ _GET และ POST ?? และเกี่ยวข้องกับพวกเขา?

4
นักเทียบท่าสร้างด้วย - build-arg ที่มีหลายข้อโต้แย้ง
ตามเอกสารประกอบมีความเป็นไปได้ที่จะกำหนด args หลายรายการสำหรับการตั้งค่าสถานะ--build-argแต่ฉันไม่สามารถหาวิธีได้ ฉันพยายามต่อไปนี้: docker build -t essearch/ess-elasticsearch:1.7.6 --build-arg number_of_shards=5 number_of_replicas=2 --no-cache . => สิ่งนี้จะส่งคืนข้อผิดพลาด ฉันก็ลอง: docker build -t essearch/ess-elasticsearch:1.7.6 --build-arg number_of_shards=5,number_of_replicas=2 --no-cache . => ชุดนี้หนึ่งตัวแปร, number_of_shardsเป็นค่า "5, number_of_replicas = 2" ความคิดใดที่ฉันสามารถกำหนดอาร์กิวเมนต์หลาย ๆ
193 docker  build  arguments 

5
ฉันจะหาจำนวนข้อโต้แย้งที่ส่งผ่านไปยังสคริปต์ Bash ได้อย่างไร
ฉันจะหาจำนวนข้อโต้แย้งที่ส่งผ่านไปยังสคริปต์ Bash ได้อย่างไร นี่คือสิ่งที่ฉันมีในปัจจุบัน: #!/bin/bash i=0 for var in "$@" do i=i+1 done มีวิธีอื่นในการทำเช่นนี้อีกหรือไม่
182 bash  arguments 

12
ใช้อาร์กิวเมนต์เริ่มต้นในฟังก์ชั่น
ฉันสับสนเกี่ยวกับค่าเริ่มต้นสำหรับฟังก์ชั่น PHP ว่าฉันมีฟังก์ชั่นเช่นนี้: function foo($blah, $x = "some value", $y = "some other value") { // code here! } ถ้าฉันต้องการใช้อาร์กิวเมนต์เริ่มต้นสำหรับ $ x และตั้งค่าอาร์กิวเมนต์อื่นสำหรับ $ y ฉันกำลังทดลองกับวิธีที่แตกต่างกันและฉันก็สับสนมากขึ้น ตัวอย่างเช่นฉันลองสองสิ่งนี้: foo("blah", null, "test"); foo("blah", "", "test"); แต่ทั้งสองอย่างนั้นไม่ส่งผลให้เกิดอาร์กิวเมนต์เริ่มต้นที่เหมาะสมสำหรับ $ x ฉันได้ลองตั้งชื่อตัวแปรแล้ว foo("blah", $x, $y = "test"); ฉันคาดหวังอย่างเต็มที่ว่าสิ่งนี้จะทำงาน แต่มันไม่ทำงานอย่างที่ฉันคาดไว้เลย ดูเหมือนว่าไม่ว่าฉันจะทำอะไรฉันจะต้องพิมพ์ท้ายด้วยการโต้เถียงเริ่มต้นทุกครั้งที่ฉันเรียกใช้ฟังก์ชัน และฉันต้องคิดถึงบางสิ่งที่ชัดเจน
177 php  arguments  default 

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