Phu Xuan University Library
Pharo by Example 5.0

External

Pharo by Example 5.0

Pharo by Example 5.0, intended for both students and developers, will guide you gently through the Pharo language and environment by means of a series of examples and exercises. In Pharo everything is an object, and anything can change at run-time under your fingers. Pharo is written in itself so you can explore a complete world. You can feel and talk to objects.

Author
Ducasse, Zagidulin, Hess, and Chloupis
Publisher
LibreTexts
Source
LibreTexts
License
CC BY-SA
Language
EN
Category
Information Technology
Contents· 160 sections
  1. 01: Preface
  2. 1.01: What is Pharo
  3. 1.02: Who Should Read This Book
  4. 1.03: A Word of Advice
  5. 1.04: An Open Book
  6. 1.05: The Pharo Community
  7. 1.06: Examples and Exercises
  8. 1.07: Acknowledgments
  9. 1.08: Hyper Special Acknowledgments
  10. 02: A Quick Tour of Pharo
  11. 2.01: Installing Pharo
  12. 2.02: Pharo File Components
  13. 2.03: Launching Pharo
  14. 2.04: PharoLauncher
  15. 2.05: The World Menu
  16. 2.06: Sending Messages
  17. 2.07: Saving Quitting and Restarting a Pharo Session
  18. 2.08: Playgrounds and Transcripts
  19. 2.09: Keyboard Shortcuts
  20. 2.10: The System Browser
  21. 2.11: Finding Classes
  22. 2.12: Finding Methods
  23. 2.13: Defining a New Method
  24. 2.14: Chapter Summary
  25. 03: A First Application
  26. 3.01: The Lights Out Game
  27. 3.02: Creating a New Package
  28. 3.03: Defining the Class LOCell
  29. 3.04: Adding Methods to a Class
  30. 3.05: Inspecting an Object
  31. 3.06: Defining the Class LOGame
  32. 3.07: Organizing Methods into Protocols
  33. 3.08: Finishing the Game
  34. 3.09: Lets Try Our Code
  35. 3.10: Saving and Sharing Pharo Code
  36. 3.11: Chapter Summary
  37. 04: Syntax in a Nutshell
  38. 4.01: Syntactic Elements
  39. 4.02: Pseudo-Variables
  40. 4.03: Message Sends
  41. 4.04: Method Syntax
  42. 4.05: Block Syntax
  43. 4.06: Conditionals and Loops in a Nutshell
  44. 4.07: Primitives and Pragmas
  45. 4.08: Chapter Summary
  46. 05: Understanding Message Syntax
  47. 5.01: Identifying Messages
  48. 5.02: Three Types of Messages
  49. 5.03: Message Composition
  50. 5.04: Hints for Identifying Keyword Messages
  51. 5.05: Expression Sequences
  52. 5.06: Cascaded Messages
  53. 5.07: Chapter Summary
  54. 06: The Pharo Object Model
  55. 6.01: The Rules of the Model
  56. 6.02: Everything Is an Object
  57. 6.03: Every Object Is an Instance of a Class
  58. 6.04: Instance Structure and Behavior
  59. 6.05: The Instance Side and the Class Side
  60. 6.06: Every Class Has a Superclass
  61. 6.07: Everything Happens by Sending Messages
  62. 6.08: Method Lookup Follows the Inheritance Chain
  63. 6.09: Shared Variables
  64. 6.10: Internal Object Implementation Note
  65. 6.11: Chapter Summary
  66. 07: Some of the Key Tools of the Pharo Environment
  67. 7.01: Pharo Environment Overview
  68. 7.02: The Main Code Browser
  69. 7.03: The Inspector
  70. 7.04: The Debugger
  71. 7.05: The Process Browser
  72. 7.06: Finding Methods
  73. 7.07: Chapter Summary
  74. 08: Sharing Code and Source Control
  75. 8.01: Packages Groups of Classes and Methods
  76. 8.02: Source Control
  77. 8.03: The File List Browser
  78. 8.04: In Pharo You Cant Lose Code
  79. 8.05: Chapter Summary
  80. 09: SUnit
  81. 9.01: Introduction
  82. 9.02: Why Testing Is Important
  83. 9.03: What Makes a Good Test
  84. 9.04: SUnit by Example
  85. 9.05: The SUnit Cookbook
  86. 9.06: The SUnit Framework
  87. 9.07: Advanced Features of SUnit
  88. 9.08: Continuing After a Failure
  89. 9.09: SUnit Implementation
  90. 9.10: A Piece of Advices on Testing
  91. 9.11: Chapter summary
  92. 10: Basic Classes
  93. 10.01: Object
  94. 10.02: Numbers
  95. 10.03: Characters
  96. 10.04: Strings
  97. 10.05: Booleans
  98. 10.06: Chapter Summary
  99. 11: Collections
  100. 11.01: Introduction
  101. 11.02: The Varieties of Collections
  102. 11.03: Collection Implementations
  103. 11.04: Examples of Key Classes
  104. 11.05: Collection Iterators
  105. 11.06: Some Hints for Using Collections
  106. 11.07: Chapter Summary
  107. 12: Streams
  108. 12.01: Two Sequences of Elements
  109. 12.02: Streams vs. Collections
  110. 12.03: Streaming over Collections
  111. 12.04: Using Streams for File Access
  112. 12.05: Chapter Summary
  113. 13: Morphic
  114. 13.01: The History of Morphic
  115. 13.02: Manipulating Morphs
  116. 13.03: Composing Morphs
  117. 13.04: Creating and Drawing Your Own Morphs
  118. 13.05: Interaction and Animation
  119. 13.06: Interactors
  120. 13.07: Drag-and-Drop
  121. 13.08: A Complete Example
  122. 13.09: More about the Canvas
  123. 13.10: Chapter Summary
  124. 14: Seaside by Example
  125. 14.01: Why Do We Need Seaside
  126. 14.02: Getting Started
  127. 14.03: Seaside Components
  128. 14.04: Rendering HTML
  129. 14.05: CSS - Cascading Style Sheets
  130. 14.06: Managing Control Flow
  131. 14.07: A Complete Tutorial Example
  132. 14.08: A Quick Look at AJAX
  133. 14.09: Chapter Summary
  134. 15: Classes and Metaclasses
  135. 15.01: Rules for Classes and Metaclasses
  136. 15.02: Revisiting the Pharo Object Model
  137. 15.03: Every Class Is an Instance of a Metaclass
  138. 15.04: The Metaclass Hierarchy Parallels the Class Hierarchy
  139. 15.05: Every Metaclass Inherits from Class and Behavior
  140. 15.06: Every Metaclass Is an Instance of Metaclass
  141. 15.07: The Metaclass of Metaclass Is an Instance of Metaclass
  142. 15.08: Chapter Summary
  143. 16: Reflection
  144. 16.01: Reflection
  145. 16.02: Introspection
  146. 16.03: Browsing Code
  147. 16.04: Classes Method Dictionaries and Methods
  148. 16.05: Browsing Environments
  149. 16.06: Accessing the Run-Time Context
  150. 16.07: Intercepting Messages Not Understood
  151. 16.08: Objects as Method Wrappers
  152. 16.09: Pragmas
  153. 16.10: Chapter Summary
  154. 17: Regular Expressions in Pharo
  155. 17.01: Regular Expressions in Pharo
  156. 17.02: Tutorial Example - Generating a Site Map
  157. 17.03: Regex Syntax
  158. 17.04: Regex API
  159. 17.05: Implementation Notes by Vassili Bykov
  160. 17.06: Chapter Summary