Download NannyMUD LPC
Transcript
Contents 1 Introduction 2 Fundamentals 2.1 What is LPC? . . . . 2.2 LPC object and times 2.3 The value of truth . . 2.4 More Reading . . . . 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 2 2 2 2 3 Types, operators and expressions 3.1 Identifier Names . . . . . . . . . . . . . . 3.2 Type Checking . . . . . . . . . . . . . . . 3.3 Data Types and Modifiers . . . . . . . . 3.4 Constants . . . . . . . . . . . . . . . . . . 3.5 Declarations . . . . . . . . . . . . . . . . 3.6 Arithmetic Operators . . . . . . . . . . . 3.7 Relational and Logical Operators . . . . 3.8 Increment and Decrement Operators . . 3.9 Bitwise Operators . . . . . . . . . . . . . 3.10 Assignment Operators and Expressions 3.11 Other Operators . . . . . . . . . . . . . . 3.12 Conditional Expressions . . . . . . . . . 3.13 Precedence and Order of Evaluation . . 3.14 The time cost of everything . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 2 3 3 4 4 5 5 6 7 7 7 8 8 9 4 Flow Control 4.1 Statements and Blocks . . . . 4.2 Conditional execution: If-Else 4.3 Conditional execution: Else-If 4.4 Conditional execution: Switch 4.5 Loops: While . . . . . . . . . . 4.6 Loops: For . . . . . . . . . . . 4.7 Loops: Do-While . . . . . . . . 4.8 Loops: Foreach . . . . . . . . . 4.9 Break and Continue . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 9 10 10 10 11 11 12 12 12 5 Functions and Program Structure 5.1 Efuns, Sfuns and Lfuns . . . . . . . . . . . . . . . . 5.2 Functions without type . . . . . . . . . . . . . . . . 5.3 Function types . . . . . . . . . . . . . . . . . . . . . 5.4 Function Prototyping . . . . . . . . . . . . . . . . . 5.5 Functions Returning Strings, Arrays or Mappings 5.6 Calling Non-Existant Functions . . . . . . . . . . . 5.7 Scope Rules . . . . . . . . . . . . . . . . . . . . . . 5.8 Block Structure . . . . . . . . . . . . . . . . . . . . 5.9 Recursion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 12 13 13 13 14 14 14 14 14 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . i . . . . . . . . . . . . . . . . . . . . . .