ความหมายของ "foo" คืออะไร? [ปิด]


19

ฉันเคยมาที่นี่ประมาณ 4 เดือนและหลายครั้งที่ฉันเห็นคนใช้fooแต่ฉันไม่รู้ว่ามันหมายถึงอะไร ฉันต้องการให้คนอื่นอธิบายฉันเกี่ยวกับตัวแปรนี้ ...

ทำไมมันถึงสำคัญ? ฉันจะใช้มันได้อย่างไร ฉันจะใช้เมื่อใด ฉันจะใช้มันได้อย่างไร

ฉันอ่านวิกิพีเดียเกี่ยวกับตัวแปร Metasyntactic แต่ฉันไม่เข้าใจความหมาย


6
ฉันไม่คิดว่าคุณสามารถทำได้ดีกว่า "ชื่อตัวยึดตำแหน่งหรือคำนามแฝงที่ใช้กันโดยทั่วไปเพื่อแสดงถึงสิ่งใด ๆ โดยพลการหรือสมาชิกในชั้นเรียนของสิ่งต่าง ๆ ภายใต้การสนทนา" มันก็เหมือนกับ "นี่" หรือ "ที่"
David Schwartz

คำถามประเภทนี้อาจเป็นของ Stackoverflow นอกจากนี้ยังไม่เกี่ยวข้องกับ Linux โดยเฉพาะหรือระบบปฏิบัติการอื่น ๆ จริงๆ
Mark Allen

8
คุณไม่ได้google คำถามที่แน่นอนของคุณ ? ผลลัพธ์ที่สองคือคำตอบของคุณ
enderland

2
@ poz2k4444: ฉันได้รับส่วนแรกไม่มีความหมายใด ๆ ในการมีคำถามเหล่านี้ในเว็บไซต์นี้หากไม่มีการใช้กับชุมชนขนาดใหญ่ อย่างไรก็ตามฉันมีปัญหาในการทำความเข้าใจว่าหัวข้อนี้สามารถอยู่ในหัวข้อที่เกี่ยวข้องกับคำถามที่พบบ่อยได้อย่างไร fooเป็นคำที่ใช้โดยโปรแกรมเมอร์และในรหัสอย่างเคร่งครัดและไม่เคยเกี่ยวข้องกับซอฟต์แวร์คอมพิวเตอร์และฮาร์ดแวร์จากมุมมองของผู้ใช้
TFM

2
มีคำถามซ้ำกันมากมายและเป็นหัวข้อที่นี่จริงๆ ดู: "foo" หมายความว่าอะไร , อะไร 'foo' จริงๆหมายถึงอะไร , foo คืออะไร? ฟูนั่นหมายถึงอะไร , ประวัติการใช้“ foo” และ“ bar” ในซอร์สโค้ดคืออะไร? , Foobar - Wikipedia - ไม่มีจุดมากในการทำซ้ำครั้งนี้อีกครั้งโดยการโยกย้ายไปที่อื่นขอโทษ
slhck

คำตอบ:


26

RFC 3092: นิรุกติศาสตร์ของ "Foo"สิ่งนี้แสดงให้เห็นอย่างชัดเจนถึงวิธีที่ Foo ถูกจับคู่กับแถบเพื่อสร้าง foobar (AKA Fubar) ข้อกำหนดเหล่านี้ใช้สำหรับการเข้ารหัสหลอกหรือดีที่สุด นอกจากนี้ยังมีประโยชน์ในตัวอย่างเพื่อให้ทุกคนสามารถติดตามตัวแปรได้ง่าย นี่คือลิงค์ Wikipedia เช่นกัน!


1
Google เป็นเพื่อนของคุณ
Ryan M

ฉันพยายาม google มัน แต่ฉันไม่ได้วิธี ... +1 สำหรับ RFC
poz2k4444

1
ทุกอย่างดีโชคดีที่ผู้คนดูเหมือนจะผ่อนคลายในเว็บไซต์นี้มากกว่าไซต์สแต็กอื่น ๆ
Ryan M

1
ใช่!! หากคุณอธิบายเพิ่มเติมคำตอบของคุณฉันจะเลือกของคุณสำหรับการอ้างอิง RFC ...
poz2k4444

ฉันเพิ่งแก้ไขมันดังนั้นเราจะมาดูกันว่าฉันจะตัด! (นิ้วมือไขว้กัน!)
Ryan M

7

เมื่อมีคนต้องการให้ตัวอย่างรหัสfooมักใช้เป็นวิธีการพูดว่า "วางชื่อจริงของตัวแปร / ฟังก์ชัน / คลาสที่คุณจะใช้ที่นี่"


7

จากบทความ Wikipedia ที่เชื่อมโยงของคุณ:

"ตัวแปร metasyntactic" ตรงกันกับ "คำที่ไม่มีความหมาย"

มันเป็นเพียงคำไร้สาระเมื่อคุณต้องการตั้งชื่อตัวแปรหรือฟังก์ชัน แต่ชื่อจริงไม่สำคัญ จริงๆใช้สำหรับการสาธิตตัวอย่างโค้ด ไม่เคยใช้ในรหัสจริง


ชื่อที่เลือกมีความสำคัญในการใช้งานจริง fooมักจะหมายถึง "คุณต้องเลือกชื่อที่นี่และอาจสำคัญและในที่อื่น ๆ ที่ foo ปรากฏในตัวอย่างเดียวกันคุณต้องใช้ชื่อเดียวกัน"
Kaz

4

กล่าวโดยย่อคือ 'foo' และ 'bar' เป็นเพียงตัวยึดตำแหน่งสำหรับข้อมูลที่คุณมีเช่นชื่อผู้ใช้รหัสผ่านตัวแปร ฯลฯ


4

มันเป็นคอมพิวเตอร์ที่เทียบเท่ากับสุนัขที่ชื่อ "สปอต" แมวชื่อ "แมว" ชายคนหนึ่งชื่อ "จอห์นสมิ ธ " (ไม่ผิดกับฝูงชนที่นั่นชื่อนี้จริง ๆ ) หรือแม้แต่ปลาที่เรียกว่า "แวนด้า" .

เมื่อคุณต้องการที่จะใช้ชื่อสามัญใน "computerspeak" คุณมักจะใช้หนึ่งfoo, หรือbar bazการใช้งานfooมักจะระบุตัวแปร / ฟังก์ชั่น / สิ่งที่มีชื่อไม่สำคัญและสามารถเปลี่ยนแปลงได้ ดังนั้นถ้าฉันตอบคำถามเกี่ยวกับ SU ที่ใช้fooเป็นชื่อตัวแปรของฉันคุณจะรู้ว่าคุณสามารถเปลี่ยนfooเป็นอะไรก็ได้ที่คุณรู้สึกว่าเป็นอิสระ

มันไม่ได้เป็นตามที่คาดกันโดยทั่วไปเป็นตัวย่อของ Fie Obfuscating Oenophiles


3

ตัวแปร Metasyntactic เป็นตัวแปรที่มีค่าเป็นที่เข้าใจกันว่าเป็นส่วนหนึ่งของไวยากรณ์ (อาจเป็นชื่อของตัวแปรอื่น ๆ ซึ่งเป็นไวยากรณ์) พวกมันจะปรากฏในสูตรที่ทำงานกับไวยากรณ์และอื่น ๆ คือ meta-syntax

ตัวอย่างเช่นลองพิจารณาS V O(subject verb object) การแสดงออกที่ระบุลำดับคำพื้นฐานของภาษามนุษย์บางภาษา ตัวอักษรสามตัวนี้เป็นตัวแปรเมตา - แทคติก แต่ละอันแสดงถึงไวยากรณ์บางส่วน เรื่องของประโยคอาจเป็นคำนามที่ซับซ้อนเป็นต้น ยิ่งไปกว่านั้นตัวอักษรเหล่านี้ยังได้รับการคัดเลือกในลักษณะที่สำคัญในโดเมนปัญหาภาษา: Sหมายถึงหัวเรื่องและอื่น ๆ

fooและbarถือได้ว่าเป็น metasyntactic ในแง่ที่ว่าพวกเขาทำหน้าที่เป็นผู้วางสำหรับชื่อจริงที่ผู้ใช้คิดค้นขึ้นมา ชื่อเฉพาะเหล่านี้มีความหมายในโดเมนปัญหาของการเขียนตัวอย่างรหัสในเอกสารประกอบคอมพิวเตอร์ซึ่งเป็นที่รู้จักในทันทีเช่นเพื่อนเก่า ดังนั้นที่ขัดแย้งกันfooเป็นการแสดงออกว่า "ฉันมีชื่อเสียงในเรื่องที่ไม่มีความหมายทุกที่ที่คุณเห็นฉันจะแทนที่ฉันด้วยสิ่งที่มี!" และนั่นคือความหมายของมัน

เป็นที่เข้าใจกันว่าทั้งที่fooและbarปรากฏผู้ใช้จะต้องแทนที่สัญลักษณ์ที่แตกต่างกันและที่fooปรากฏมากกว่าหนึ่งครั้งในตัวอย่างเดียวกันเหตุการณ์ทั้งหมดจะต้องถูกแทนที่ด้วยตัวบ่งชี้เดียวกันอย่างสม่ำเสมอ

fooและbarมีประสิทธิภาพตราบใดที่ไม่ขัดแย้งกับสิ่งใดในภาษาคอมพิวเตอร์เช่นคำสั่งในตัวคำหลักหรือชื่อของฟังก์ชันไลบรารีหรือตัวแปรที่สำคัญ หากสิ่งนั้นเกิดขึ้นระดับของไวยากรณ์และเมตาดาต้าจะสับสน หากคุณกำลังออกแบบภาษาใหม่มันจะทำให้คุณหลีกเลี่ยงการแนะนำตัวfooและbarเป็นตัวระบุที่สำคัญในภาษานั้น

คำว่า foo และ bar มีนิรุกติศาสตร์ แต่นิรุกติศาสตร์นั้นไม่ได้เชื่อมโยงกับความหมายในเอกสารประกอบการคำนวณ


การอธิบายเป็นภาษาอังกฤษธรรมดา :) +1
John Siu

2

มันใช้งานจริงเพื่อเป็นตัวอย่างจริง ๆ ... แทนที่จะเป็นตัวแปรที่คุณต้องการใช้ ... แต่ถ้าคุณต้องการทราบข้อมูลเพิ่มเติม ... ที่นี่ .. :

ฟู :

  Forward Observation Observer.

  FOO Of Oberlin.  An organization whose name is a recursive
  acronym.  Motto: The FOO, the Proud, the FOO.  See
  <http://cs.oberlin.edu/students/jmankoff/FOO/home.html>.

  File Open for Output.

.. คำถามที่เจ๋ง .. และมันเป็นสิ่งสำคัญมากสำหรับผู้คนที่เดินทางเข้ามาในโลกที่ไม่เป็นทางการจงพิจารณาตัวอย่างที่มีอยู่ทั่วไปและหากคุณไม่รู้อะไรเลยคุณอาจตกอยู่ในความผิดพลาดจนกว่าคุณจะได้รับสิ่งนั้นfooเป็นตัวอย่าง ...

คุณมีทางเลือกที่แตกต่างกัน ... แต่มันเป็นส่วนหนึ่งของต้นกำเนิดเดียวกันของประวัติศาสตร์! ...

นี่คือRFC ! ลองดูสิ มีประโยชน์มากสำหรับสิ่งนั้น

นอกจากนี้ยังมีคำอธิบายสำหรับbar(โดยทั่วไปจะมีการโยงไปถึงยุค WW II Army ย่อคำสแลงกองทัพ FUBAR ... )

ค้นหา Google อย่างรวดเร็วอาจแก้ไขคำถามอย่างรวดเร็วดูที่นี้บทความวิกิพีเดีย:

.. ต้นกำเนิดของข้อกำหนดนั้นไม่เป็นที่ทราบแน่ชัดและมีหลายทฤษฎีที่ได้รับการพิสูจน์แล้วว่ามีความก้าวหน้า การใช้คำศัพท์ที่เป็นที่รู้จักครั้งแรกในการพิมพ์ปรากฏใน 1965 รุ่นของ "Tech Engineering News" ของ MIT Foobar อาจมาจากคำย่อของทหาร FUBAR และได้รับความนิยมเพราะมันเด่นชัดเหมือนกัน ...

มันเป็นเรื่องที่น่าสนใจและมีข้อมูลบางอย่างที่คุณสามารถใช้เพื่อปลดปล่อยใหม่

หวังว่ามันจะช่วย!


1

Foo เป็นชื่อตัวแปรที่ใช้สำหรับการเรียงลำดับของตัวแปรใด ๆ เมื่อชื่อตัวเองไม่สำคัญ หากคุณจำปัญหาคำศัพท์ทางคณิตศาสตร์พวกเขาจะไป: Mr Smith มี $ 10 และ Mr Jones มี $ 20 ถ้า Mr Jones ให้ Mr Smith $ 5 คุณ Smith มีเท่าไหร่ สมิ ธ และโจนส์และเพียงแค่ชื่อ ฟูคล้ายกันมันเป็นเพียงชื่อของตัวแปรเพราะคุณต้องการชื่อสำหรับตัวอย่างที่เหมาะสม

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