ผลต่างระหว่างรุ่นของ "Racket"
ไปยังการนำทาง
ไปยังการค้นหา
Jittat (คุย | มีส่วนร่วม) (หน้าที่ถูกสร้างด้วย '== ภาษา == == แบบฝึกหัด 1 == == ท่าพื้นฐาน == == แบบฝึกหัด 2 ==') |
Jittat (คุย | มีส่วนร่วม) (→ภาษา) |
||
| แถว 1: | แถว 1: | ||
== ภาษา == | == ภาษา == | ||
| + | Racket เป็นลูกหลายหนึ่งของภาษา LISP | ||
| + | |||
| + | === REPL === | ||
| + | |||
| + | ส่วนล่างของจอ จะเป็น read-eval-print-loop คือพิมพ์ expression เข้าไป ระบบจะอ่าน คำนวณแล้วก็พิมพ์คำตอบ เช่น | ||
| + | |||
| + | > 5 | ||
| + | 5 | ||
| + | > (+ 10 5) | ||
| + | 15 | ||
| + | > "hello" | ||
| + | "hello" | ||
| + | > (substring "hello" 1 3) | ||
| + | "el" | ||
| + | > (+ (* 4 5) 2) | ||
| + | 22 | ||
| + | |||
| + | ไวยากรณ์พื้นฐานของภาษา Racket คือการเรียกฟังก์ชัน: | ||
| + | |||
| + | (ฟังก์ชัน อาร์กิวเมนท์1 อาร์กิวเมนท์2 ...) | ||
| + | |||
| + | เราจะไม่สามารถเขียนวงเล็บเล่น ๆ ได้เลย เช่น ถ้าสั่ง (5) จะได้ error ดังนี้ | ||
| + | |||
| + | > (5) | ||
| + | . . application: not a procedure; | ||
| + | expected a procedure that can be applied to arguments | ||
| + | given: 5 | ||
| + | arguments...: [none] | ||
== แบบฝึกหัด 1 == | == แบบฝึกหัด 1 == | ||
รุ่นแก้ไขเมื่อ 15:49, 14 ตุลาคม 2557
ภาษา
Racket เป็นลูกหลายหนึ่งของภาษา LISP
REPL
ส่วนล่างของจอ จะเป็น read-eval-print-loop คือพิมพ์ expression เข้าไป ระบบจะอ่าน คำนวณแล้วก็พิมพ์คำตอบ เช่น
> 5 5 > (+ 10 5) 15 > "hello" "hello" > (substring "hello" 1 3) "el" > (+ (* 4 5) 2) 22
ไวยากรณ์พื้นฐานของภาษา Racket คือการเรียกฟังก์ชัน:
(ฟังก์ชัน อาร์กิวเมนท์1 อาร์กิวเมนท์2 ...)
เราจะไม่สามารถเขียนวงเล็บเล่น ๆ ได้เลย เช่น ถ้าสั่ง (5) จะได้ error ดังนี้
> (5) . . application: not a procedure; expected a procedure that can be applied to arguments given: 5 arguments...: [none]