Score:-3

โดยใช้โครงสร้าง "condition ? :"

ธง jp

ฉันใช้โครงสร้างต่อไปนี้และไม่เข้าใจว่าทำไมจึงสร้างข้อผิดพลาดทางไวยากรณ์

(( ร == 1 )) ? ส่งคืน 0 : ส่งคืน 1

โครงสร้างคืออะไร เงื่อนไข ? : เรียกว่าเป๊ะ?

muru avatar
us flag
โดยปกติจะเรียกว่า [ตัวดำเนินการ ternary](https://en.wikipedia.org/wiki/%3F:) อะไรก็ตามที่ทำให้คุณคิดว่าคุณสามารถใช้มันใน bash ได้โดยตรงเช่นนี้?
jp flag
ไม่พบอินสแตนซ์ของการใช้งาน ดังนั้นฉันจึงเริ่มเล่นรอบๆ
Score:1
ธง mx

ใน bash ไวยากรณ์มีลักษณะดังนี้:

$ เสียงสะท้อน $((0 ? 5 : 6 ))
6
$ เสียงสะท้อน $((1 ? 5 : 6 ))
5
jp flag
ดังนั้นโครงสร้างจึงมีไว้สำหรับการกำหนดตัวเลข `a=$(( r==1 ? 5 : 8 ))` แทนที่จะเรียกใช้คำสั่งทั่วไปที่สามารถทำได้โดยเงื่อนไข `if`, `case` หรือ ` while` งบ
au flag
@Fatipati ไวยากรณ์ของเชลล์นั้นขึ้นอยู่กับบริบทอย่างมาก และตัวดำเนินการแบบไตรภาคก็ไม่มีข้อยกเว้น ใช้ได้เฉพาะในบริบทเลขคณิต เช่น `(( ))`, `$(( ))`, ดัชนีของอาร์เรย์ (ไม่เชื่อมโยง) หรือตำแหน่งอื่นๆ อีกสองสามแห่ง

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา