ชื่อที่ถูกต้องสำหรับตัวดำเนินการหลาม *?


208

อะไรคือชื่อที่ถูกต้องสำหรับผู้ประกอบการ*ในขณะที่function(*args)? แกะคลายซิปมีอะไรอีกไหม


9
จาวาสคริปต์ที่มีเทียบเท่าการแพร่กระจาย ...ผู้ประกอบการ
Wolfgang Kuehn

คำตอบ:


168

ใน Ruby และ Perl 6 นี่เรียกว่า "splat" และฉันคิดว่าคนส่วนใหญ่จากชุมชนเหล่านั้นจะเข้าใจว่าคุณหมายถึงอะไรถ้าคุณเรียกมันว่า

หลามกวดวิชาใช้วลี "เอาออกรายการอาร์กิวเมนต์" ซึ่งมีความยาวและพรรณนา ฉันไม่เคยได้ยินชื่ออื่นมาก่อนใน Python


90
ไม่เคยได้ยิน / เคยเห็น "splat" ในเวลาประมาณ 10 ปีในการใช้งาน python
Joe Koberg

8
ในไพ ธ อนมันยังใช้แพ็ครายการอาร์กิวเมนต์ดังนั้นในบริบทนั้นควรเรียกว่าunsplat ? :)
John La Rooy

45
@ THC4k splatsplatผมเสนอ
Josh Lee

5
น่าเสียดายที่ INTERCAL ไม่ได้มี*โอเปอเรเตอร์ดังนั้นเราจึงขาดแหล่งข้อมูลอย่างเป็นทางการ ...
wberry

3
ใน JavaScript (es2015) มันเป็นที่รู้จักในฐานะผู้ประกอบการแพร่กระจาย
Kutyel

118

ฉันเรียกว่า "การขยายตำแหน่ง" ซึ่งตรงข้ามกับ**ที่ฉันเรียกว่า "การขยายคำหลัก"


49

หลามกวดวิชาก็เรียกมันว่าฯ*-operator ' จะดำเนินการเอาออกจากรายการอาร์กิวเมนต์โดยพลการ


1
นี่เป็นคำตอบที่ถูกต้องที่สุดและเป็นความอับอายที่ไม่ได้รับการยอมรับ!
alfasin

3
@alfasin: นิพจน์ ' *-operator' นั้นคลุมเครือตั้งแต่*- ขึ้นอยู่กับบริบท - สามารถทำการโต้แย้งการขยายตัวหรือการคูณซึ่งเป็นการดำเนินการสองอย่างที่แตกต่างกัน
HelloGoodbye

1
@HelloGoodbye และมันก็ไม่ยากที่จะเข้าใจว่ามันมาจากบริบทใด
alfasin

ดูเหมือนว่า OP ถูกถามถึงวิธีการ pronounciate (ซึ่งอาจหรือไม่อาจจะเป็นคำที่ตัวเอง - *ที่หลุมกระต่ายอื่น) โดยการบอกว่ามัน*-operatorเป็นเพียงการส่งคำถามกลับมาเป็นคำตอบ โอเพ่นอยากรู้วิธีพูดออกมาดัง ๆ (หรือในหัวของเขา) เมื่อเขาพบมัน ทั้งหมดนี้เป็นเรื่องใหม่สำหรับฉันและฉันจะไปกับ "เครื่องหมาย!"
elPastor

17

ฉันพูดว่า "star-args" และคน Python ดูเหมือนจะรู้ว่าฉันหมายถึงอะไร

**เป็นเล่ห์เหลี่ยม - ฉันคิดว่า "qargs" เพราะมันมักจะใช้เป็น**kwหรือ**kwargs


2
ฉันก็แค่พูดว่าkwargsแม้ว่ามันจะไม่ได้อ้างถึงโอเปอเรเตอร์จริงๆ แต่ฉันคิดว่า
TM

14

หนึ่งยังสามารถโทรรวบรวมพารามิเตอร์ (เมื่อนำมาใช้ในความหมายข้อโต้แย้งฟังก์ชั่น) หรือผู้ประกอบการกระจาย (เมื่อนำมาใช้ในการภาวนาฟังก์ชั่น)*

เท่าที่เห็นนี่: คิดว่างูหลาม / Tuples / ความยาวตัวแปร tuples


1
แต่คุณไม่สามารถตะโกนรวบรวมหรือกระจายอย่างที่คุณสามารถทำได้ด้วย SPLAT: D
Samantha Branham

@ SamanthaBranham ฉันชอบวิธีรวบรวมและกระจายสามารถมองเห็นได้ง่ายและชัดเจน เห็นได้ชัดว่า splat เห็นภาพที่ยอดเยี่ยมเช่นกัน😂💥
Anton Strogonoff


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