This document provides resources about the Ring programming language:
1. The Ring language website and group provide news and support forums for questions.
2. Contact information is given for two of the authors of Ring, including their names, countries, emails, and social media profiles.
3. An index is provided at the end to help navigate the documentation.
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Ā
The Ring programming language version 1.5.2 book - Part 178 of 181
1. CHAPTER
NINETYSEVEN
RESOURCES
In this section you will ļ¬nd resources about the language
97.1 Ring Language Website
For news about the language check the website
http://ring-lang.net
http://ring-lang.sf.net
97.2 Ring Group
For questions use the Ring Group (English)
https://groups.google.com/forum/#!forum/ring-lang
97.3 Contact the Authors
Name : Eng. Mahmoud Samir Fayed
Country : Egypt
Email : msfclipper@yahoo.com
Facebook : https://facebook.com/mahmoudfayed1986
LinkedIn : https://sa.linkedin.com/in/mahmoudfayed1986
Name : Dr. Atif M. Alamri
Country : Saudi Arabia
Email : atif@ksu.edu.sa
LinkedIn : https://sa.linkedin.com/in/dr-atif-alamri-8b341747
Ring Team : http://ring-lang.sourceforge.net/team.html
1745
2. INDEX
Access List Items by String Index
Lists, 187
Access Objects Using Braces
Object Oriented Programming, 264
Access String Letters
Strings, 189
Accessing the class attributes from braces inside class
methods
Scope Rules, 668
Add Items
Lists, 181
addattribute()
Reļ¬ection and Meta-programming, 291
AddDays()
Date and Time, 197
Adding code to the generated code
Code Generator, 753
Adding Hyperlink to QLabel
Desktop and Mobile Development, 572
addmethod()
Reļ¬ection and Meta-programming, 291
Analog Clock
Applications developed in little hours, 5
Animate Class
Game Engine for 2D Games, 445
Animate Events
Game Engine for 2D Games, 456
Animation
Game Engine for 2D Games, 450
Animation and Functions
Game Engine for 2D Games, 451
Anonymous and Nested Functions
Functional Programming, 277
Application Class
Web Development (CGI Library), 408
Applications
How to contribute?, 122
Applications developed in little hours
Analog Clock, 5
Calculator Application, 9
FetchStockData Application, 3
Fifteen Puzzle Game 2, 4
Innovative, 17
Introduction, 1
Practical, 18
Quotes about Ring, 1
Samples in this book, 12
Squares Puzzle Game, 7
TicTacToe Game, 6
Video-Music-Player Application, 8
Werdy Application, 11
Windows StartUp Manager Application, 10
apppath()
Stdlib Functions, 298
Arithmetic Operators
Operators, 148
Ascii()
Data Type, 205
Assert()
Eval() and Debugging, 231
Assignment Operators
Operators, 149
attributes()
Reļ¬ection and Meta-programming, 288
Better Call Command
What is new in Ring 1.2?, 102
Better Code Generator for Extensions
What is new in Ring 1.1?, 112
What is new in Ring 1.5?, 57
Better Documentation
What is new in Ring 1.1?, 112
Better Documentation Generator for Extensions
What is new in Ring 1.5?, 58
Better Functions
What is new in Ring 1.2?, 99
Better Loop|Exit Command
What is new in Ring 1.3?, 93
Better Natural Language Programming Support
What is new in Ring 1.1?, 104
Better Objects Library
What is new in Ring 1.5?, 44
Better Quality
What is new in Ring 1.2?, 102
What is new in Ring 1.5?, 66
1746
3. Ring Documentation, Release 1.5.2
Better Ring Notepad
What is new in Ring 1.2?, 99
What is new in Ring 1.3?, 89
What is new in Ring 1.5?, 35
Better RingQt
What is new in Ring 1.2?, 99
What is new in Ring 1.3?, 85
What is new in Ring 1.4?, 80
What is new in Ring 1.5?, 42
Better StdLib
What is new in Ring 1.3?, 93
What is new in Ring 1.4?, 78
What is new in Ring 1.5?, 38
Better WebLib
What is new in Ring 1.4?, 78
What is new in Ring 1.5?, 39
binarydigits()
Stdlib Functions, 307
Bitwise Operators
Operators, 148
BraceError() Method
Natural Language Programming, 350
BraceExprEval Method
Natural Language Programming, 349
BraceStart and BraceEnd Methods
Natural Language Programming, 348
Branching
Control Structures, 151
Control Structures - Second Style, 158
Control Structures - Third Style, 161
BreakPoint
The Trace Library and the Interactive Debugger, 733
Building From Source Code
Building using CMake, 120
Building using Fedora Linux, 117
Building using MacOS X, 118
Building using Microsoft Windows, 114
Building using Ubuntu Linux, 115
Introduction, 113
Building Games For Android
Building the project, 492
Download Requirements and Update the Android
SDK, 491
Introduction, 490
Project Folder, 491
Building RingQt Applications for Mobile
Comments about developing for Android using
RingQt, 647
Download Requirements, 646
Install Qt for Android, 646
Introduction, 645
Update the Android SDK, 646
Building the project
Building Games For Android, 492
Building using CMake
Building From Source Code, 120
Building using Fedora Linux
Building From Source Code, 117
Building using MacOS X
Building From Source Code, 118
Building using Microsoft Windows
Building From Source Code, 114
Building using Ubuntu Linux
Building From Source Code, 115
Calculator Application
Applications developed in little hours, 9
What is new in Ring 1.5?, 34
Call Functions
Functions - First Style, 168
Functions - Second Style, 172
Functions - Third Style, 176
callgc()
Low Level Functions, 711
Calling a function sharing the name with a method in the
current class
Scope Rules for Functions and Methods, 679
Can I connect to dbase/harbour database?
Frequently Asked Questions, 1725
Can Ring work on Windows XP?
Frequently Asked Questions, 1727
capitalized()
Stdlib Functions, 301
cfunctions()
Reļ¬ection and Meta-programming, 281
CGI Support
Command Line Options, 709
Change Focus
Desktop and Mobile Development, 607
Change Language Keywords
Syntax Flexibility, 681
Change Language Operators
Syntax Flexibility, 682
Change the ā=ā operator to āisā
Natural Language Programming, 346
Change the Ring Keyword āAndā
Natural Language Programming, 344
Change the Ring Operator ā+ā
Natural Language Programming, 345
Change: Basic Extensions are separated from RingVM
What is new in Ring 1.4?, 73
changestring()
Stdlib Functions, 310
Char()
Data Type, 205
ChDir() Function
System Functions, 227
Check Character
Index 1747
4. Ring Documentation, Release 1.5.2
Data Type, 200
Check Data Type
Data Type, 199
Check Parameters Count
Extension, 740
Check Parameters Type
Extension, 741
Classes and Objects
Object Oriented Programming, 262
Classes and their Methods to use the default events
Desktop and Mobile Development, 637
classes()
Reļ¬ection and Meta-programming, 285
classname()
Reļ¬ection and Meta-programming, 287
Clean Natural Code
Natural Language Programming, 351
Clearerr()
Files, 217
clock()
Date and Time, 195
Close Window Event
RingLibSDL, 437
ClosPerSecond()
Date and Time, 195
Code Generator
Adding code to the generated code, 753
Comments in conļ¬guration ļ¬le, 755
Conļ¬guration ļ¬le, 751
Conļ¬guration ļ¬le for the Allegro library, 756
Conļ¬guration Files Examples, 769
Constants Type, 756
Deļ¬ning Constants, 754
Determine Structure Members Types, 754
Enum and Numbers, 755
Executing code during code generation, 755
Filtering using Expressions, 755
function prototype, 751
Introduction, 750
Preļ¬x for Functions Names, 753
Qt conļ¬guration ļ¬le, 760
Register New Functions, 754
Threads Support, 758
Using conļ¬guration ļ¬le that wrap C++ library, 760
Using the tool, 751
Wrap structures, 753
Wrapping C++ Classes, 759
CodeEditor Class
RingQt Classes Reference, 1673
Command Line Options
CGI Support, 709
Generate Object File, 710
Introduction, 695
No Run, 709
Performance, 709
Printing Final Intermediate Code, 704
Printing Instruction Operation Code, 709
Printing Intermediate Code, 702
Printing Rules, 698
Printing Tokens, 696
Comments about developing for Android using RingQt
Building RingQt Applications for Mobile, 647
Comments about evaluation
Control Structures - First Style, 156
Comments in conļ¬guration ļ¬le
Code Generator, 755
Compact Syntax
Language Design, 26
Compiler and Virtual Machine (VM)
How to contribute?, 122
Compiler Errors
Reference, 1734
Composition
Object Oriented Programming, 265
Conļ¬guration ļ¬le
Code Generator, 751
Conļ¬guration ļ¬le for the Allegro library
Code Generator, 756
Conļ¬guration Files Examples
Code Generator, 769
Conļ¬gure the Apache web server
Web Development (CGI Library), 360
Conļ¬ict between Class Attributes and Local Variables
Scope Rules, 665
Conļ¬ict between Global Variables and Class Attributes
Frequently Asked Questions, 1713
Scope Rules, 664
Conļ¬ict between self inside braces and self in the class
region
Scope Rules, 671
Constants Type
Code Generator, 756
Constructor methods in Ring
Frequently Asked Questions, 1709
Contact the Autor
Resources, 1745
Control Structures
Branching, 151
Looping, 162
Control Structures - First Style
Comments about evaluation, 156
Do Again Loop, 154
Exit, 154
Exit from two loops, 154
Exit/Loop inside sub functions, 155
For In Loop, 153
for in to modify lists, 153
For Loop, 152
Index 1748
5. Ring Documentation, Release 1.5.2
Introduction, 150
Loop Command, 155
Looping, 152
Short-circuit evaluation, 155
Step Option, 153
Switch Statement, 151
While Loop, 152
Control Structures - Second Style
Branching, 158
Exceptions, 160
For In Loop, 160
For Loop, 159
If Statement, 158
Introduction, 157
Looping, 159
Switch Statement, 158
Control Structures - Third Style
Branching, 161
Exceptions, 164
For In Loop, 164
For Loop, 163
If Statement, 161
Introduction, 160
Switch Statement, 161
While Loop, 162
Conversion
Data Type, 204
Conversion Class
Stdlib Classes, 331
Convert between Numbers and Bytes
What is new in Ring 1.4?, 77
Convert Letters Case
Strings, 189
Cookies
Web Development (CGI Library), 372
Copy Lists
Lists, 185
Copy()
Strings, 191
Could you explain the output of the StrCmp() function?
Frequently Asked Questions, 1716
Create Database
MySQL Functions, 246
Create Lists
Lists, 181
Create Table and Insert Data
MySQL Functions, 247
Create Window
RingLibSDL, 434
Create Zip File
RingZip, 418
Creating a Class for each Window in GUI applications
Scope Rules, 670
Creating Menubar
Desktop and Mobile Development, 552
Creating more than one window
Desktop and Mobile Development, 590
Creating Reports using the WebLib and the GUILib
Desktop and Mobile Development, 642
Creating StatusBar
Desktop and Mobile Development, 556
Creating the Game Window
Game Engine for 2D Games, 445
Creating Toolbar
Desktop and Mobile Development, 555
Creating Windows Installer
Distributing Ring Application, 694
CRUD Example using MVC
Web Development (CGI Library), 394
CurrentDir() Function
System Functions, 227
Data Type
Ascii(), 205
Char(), 205
Check Character, 200
Check Data Type, 199
Conversion, 204
Dec(), 205
Hex(), 205
Hex2str(), 206
Introduction, 198
IsAlNum(), 201
IsAlpha(), 201
IsCntrl(), 201
IsDigit(), 202
IsGraph(), 202
IsList(), 200
IsLower(), 202
IsNULL(), 200
IsNumber(), 199
IsPrint(), 202
IsPunct(), 203
IsSpace(), 203
IsString(), 199
IsUpper(), 203
IsXdigit(), 203
Number(), 204
Str2Hex(), 206
String(), 204
Type(), 200
Database, ModelBase & ControllerBase classes
Web Development (CGI Library), 402
DataType Class
Stdlib Classes, 330
Date and Time
AddDays(), 197
clock(), 195
Index 1749
6. Ring Documentation, Release 1.5.2
ClosPerSecond(), 195
Date(), 195
DiffDays(), 197
EpochTime(), 197
Introduction, 194
Time(), 195
TimeList(), 196
Date()
Date and Time, 195
DateTime Class
Stdlib Classes, 325
dayofweek()
Stdlib Functions, 308
Debug Class
Stdlib Classes, 329
Dec()
Data Type, 205
Decimals()
Mathematical Functions, 210
Declarative Programming
Declarative programming on the top of Object-
Oriented, 340
executing code after the end of object access, 340
Introduction, 336
More Beatiful Code, 341
Objects inside lists, 337
Return object by reference, 338
Declarative programming on the top of Object-Oriented
Declarative Programming, 340
Declare parameters
Functions - First Style, 169
Functions - Second Style, 173
Functions - Third Style, 177
Decrypt()
Security and Internet Functions, 260
Deep Copy
Variables, 146
Deļ¬ne Declarative Languages
Language Design, 29
Deļ¬ne Functions
Functions - First Style, 168
Functions - Second Style, 172
Functions - Third Style, 176
Deļ¬ne Natural Statements
Language Design, 27
Deļ¬ning Commands
Using the Natural Library, 355
Deļ¬ning commands using classes
Using the Natural Library, 358
Deļ¬ning Constants
Code Generator, 754
Deļ¬ning Variables and Variables Access
Scope Rules, 662
Delete Item From List
Lists, 182
Demo Programs
Introduction, 231
Language Shell, 232
Main Menu, 232
The Cards Game, 631
Designed for a clear goal
Language Design, 24
Desktop and Mobile Development
Adding Hyperlink to QLabel, 572
Change Focus, 607
Classes and their Methods to use the default events,
637
Creating Menubar, 552
Creating more than one window, 590
Creating Reports using the WebLib and the GUILib,
642
Creating StatusBar, 556
Creating Toolbar, 555
Dialog Functions, 597
Display Image using QLabel, 576
Display Scaled Image using QLabel, 585
Drawing using QPainter, 587
Dynamic Objects, 611
Inheritance from GUI Classes, 603
KeyPress and Mouse Move Events, 597
Menubar and StyleSheet Example, 577
Methods to use Events with Events Filter, 640
Movable Label Example, 593
Moving Objects using the Mouse, 599
New Classes names - Index Start from 1, 642
Notepad Application, 616
Other Widgets Events, 581
Playing Sound, 591
Printing using QPrinter, 589
QLineEdit Events and QMessageBox, 579
QMessagebox Example, 594
QVideoWidget and QMediaPlayer, 573
Regular Expressions, 608
RingQt Classes and their Qt Documentation, 642
Rotate Text, 605
Simple Client and Server Example, 609
The Cards Game, 631
The Difference between Qt and RingQt, 641
The First GUI Application, 542
Using Layout, 543
Using QCheckBox, 569
Using QComboBox Class, 551
Using QDateEdit, 564
Using QDesktopWidget Class, 604
Using QDial, 565
Using QDockWidget, 557
Using QFrame, 574
Using QInputDialog Class, 595
Index 1750
7. Ring Documentation, Release 1.5.2
Using qLCDNumber, 592
Using QProgressBar, 561
Using QProgressBar and Timer, 584
Using QRadioButton and QButtonGroup, 570
Using QSlider, 562
Using QSpinBox, 562
Using QTableWidget, 560
Using QTabWidget, 558
Using QTreeView and QFileSystemModel, 549
Using QTreeWidget and QTreeWidgetItem, 550
Using QWebView, 568
Using the QColorDialog Class, 591
Using the QFileDialog Class, 586
Using the QListWidget Class, 546
Using the QTextEdit Class, 545
Using the QTimer Class, 583
Weight History Application, 612
Determine Structure Members Types
Code Generator, 754
Dialog Functions
Desktop and Mobile Development, 597
DiffDays()
Date and Time, 197
Dir()
Files, 213
direxists()
Stdlib Functions, 310
Disable BreakPoints
The Trace Library and the Interactive Debugger, 733
Display Error Message
Extension, 741
Display Image
RingLibSDL, 434
Display Image using QLabel
Desktop and Mobile Development, 576
Display PNG Images
RingLibSDL, 435
Display Scaled Image using QLabel
Desktop and Mobile Development, 585
Display Transparent Images
RingLibSDL, 436
Display Warnings Option
What is new in Ring 1.2?, 102
Distributing Applications and Games for Mobile
Distributing Ring Application, 695
Distributing Applications for Microsoft Windows
Distributing Ring Application, 694
Distributing Ring Application
Creating Windows Installer, 694
Distributing Applications and Games for Mobile,
695
Distributing Applications for Microsoft Windows,
694
Introduction, 693
Protecting the Source Code, 694
Using C/C++ Compiler and Linker, 695
Do Again Loop
Control Structures - First Style, 154
Documentation
How to contribute?, 121
Download Requirements
Building RingQt Applications for Mobile, 646
Download Requirements and Update the Android SDK
Building Games For Android, 491
Download()
Security and Internet Functions, 261
Draw Rectangle
RingLibSDL, 435
Drawing Text
Game Engine for 2D Games, 446
Drawing using QPainter
Desktop and Mobile Development, 587
Drawing using RingOpenGL
Using RingOpenGL and RingFreeGLUT for 3D
Graphics, 496
Drawing, Animation and Input
Graphics and Game Programming, 421
Dynamic Attributes
Object Oriented Programming, 269
Dynamic Objects
Desktop and Mobile Development, 611
Dynamic Typing
Variables, 146
Editors Support
How to contribute?, 122
Embedding Ring in Ring
Embedding Ring in Ring, 735
Embedding Ring in Ring without sharing the State,
736
Serial Execution of Programs, 736
Embedding Ring in Ring without sharing the State
Embedding Ring in Ring, 736
What is new in Ring 1.3?, 95
Embedding Ring Language in C/C++ Programs
Introduction, 747
Ring State, 748
Ring State Functions, 748
Ring State Variables, 749
Encourage Organization
Language Design, 26
Encrypt()
Security and Internet Functions, 259
endswith()
Stdlib Functions, 304
Entering Items
Form Designer, 660
Enum and Numbers
Index 1751
8. Ring Documentation, Release 1.5.2
Code Generator, 755
Environment Errors
Reference, 1736
EpochTime()
Date and Time, 197
Stdlib Functions, 312
Equality of functions
Functional Programming, 278
Eval()
Eval() and Debugging, 229
Eval() and Debugging
Assert(), 231
Eval(), 229
Introduction, 228
Raise(), 230
Try/Carch/Done, 229
evenorodd()
Stdlib Functions, 306
Events Code
Form Designer, 656
Example
Files, 219
Mathematical Functions, 207
Natural Language Programming, 343
Objects Library for RingQt Application, 649
Security and Internet Functions, 260
System Functions, 224
The Type Hints Library, 691
Example - The Trace Library
Low Level Functions, 727
Example - Using the Trace Functions
Low Level Functions, 723
Example about Sharing Names between Functions and
Methods
Scope Rules for Functions and Methods, 677
Exceptions
Control Structures - Second Style, 160
Control Structures - Third Style, 164
Execute Program Line by Line
The Trace Library and the Interactive Debugger, 732
Execute Query and Print Result
ODBC Functions, 240
executing code after the end of object access
Declarative Programming, 340
Executing code during code generation
Code Generator, 755
ExeFileName() Function
System Functions, 227
ExeFolder() Function
System Functions, 227
Exit
Control Structures - First Style, 154
Exit from two loops
Control Structures - First Style, 154
Exit/Loop inside sub functions
Control Structures - First Style, 155
Extension
Check Parameters Count, 740
Check Parameters Type, 741
Display Error Message, 741
Fopen() and Fclose() Implementation, 742
Function Prototype, 742
Function Structure, 740
Get Parameters Values, 741
Introduction, 737
Module Organization, 739
MySQL_Columns() Implementation, 745
Return Value, 741
RING API - list Functions, 743
RING API - String Functions, 745
ring_ext.c, 738
ring_ext.h, 738
Shared Libraries, 746
Sin() Implementation, 742
Extensions in C/C++
How to contribute?, 122
Extract Zip File
RingZip, 418
Facebook Login
RingLibCurl, 414
factorial()
Stdlib Functions, 302
factors()
Stdlib Functions, 306
Fclose()
Files, 214
Features
Introduction, 20
Feof()
Files, 217
Ferror()
Files, 217
FetchStockData Application
Applications developed in little hours, 3
Fexists()
Files, 219
Fļ¬ush()
Files, 215
Fgetc()
Files, 218
Fgetpos()
Files, 217
Fgets()
Files, 218
ļ¬bonacci()
Stdlib Functions, 303
Fifteen Puzzle Game 2
Index 1752
9. Ring Documentation, Release 1.5.2
Applications developed in little hours, 4
File Class
Stdlib Classes, 327
File Hash
Security and Internet Functions, 260
ļ¬le2list()
Stdlib Functions, 304
Files
Clearerr(), 217
Dir(), 213
Example, 219
Fclose(), 214
Feof(), 217
Ferror(), 217
Fexists(), 219
Fļ¬ush(), 215
Fgetc(), 218
Fgetpos(), 217
Fgets(), 218
Fopen(), 214
Fputc(), 218
Fputs(), 218
Fread(), 219
Freopen(), 215
Fseek(), 216
Fsetpos(), 217
Ftell(), 216
Fwrite(), 219
Introduction, 211
Numbers and Bytes, 221
Perror(), 217
Read File using Read(), 213
Remove(), 214
Rename(), 214
Rewind(), 216
Tempļ¬le(), 216
Tempname(), 216
Ungetc(), 218
Write ļ¬le using Write(), 213
ļ¬lter()
Stdlib Functions, 300
Filtering using Expressions
Code Generator, 755
Find SubString
Strings, 192
Find() and List of Objects
Object Oriented Programming, 270
First-Class Functions
Functional Programming, 276
First-Class Lists
Lists, 186
Flappy Bird 3000 Game
Game Engine for 2D Games, 472
Fopen()
Files, 214
Fopen() and Fclose() Implementation
Extension, 742
For In Loop
Control Structures - First Style, 153
Control Structures - Second Style, 160
Control Structures - Third Style, 164
for in to modify lists
Control Structures - First Style, 153
For Loop
Control Structures - First Style, 152
Control Structures - Second Style, 159
Control Structures - Third Style, 163
Form Designer
Entering Items, 660
Events Code, 656
Introduction, 653
Keyboard Shortcuts, 659
Menubar Designer, 659
More Samples and Tests, 661
Running Forms, 656
The Designer Windows, 655
The Properties, 655
Using Layouts, 661
What is new in Ring 1.3?, 96
Window Flags, 660
Fputc()
Files, 218
Fputs()
Files, 218
Frames Per Second
Using RingOpenGL and RingFreeGLUT for 3D
Graphics, 529
Fread()
Files, 219
Freopen()
Files, 215
Frequently Asked Questions
Can I connect to dbase/harbour database?, 1725
Can Ring work on Windows XP?, 1727
Conļ¬ict between Global Variables and Class At-
tributes, 1713
Constructor methods in Ring, 1709
Could you explain the output of the StrCmp() func-
tion?, 1716
Getter and Setter Methods, 1711
Goal of including the Main function in Ring, 1707
How can I disable maximize button and resize win-
dow?, 1723
How to add Combobox and other elements to the
cells of a QTableWidget?, 1730
How to Close a window then displaying another
one?, 1722
How to create a Modal Window?, 1722
Index 1753
10. Ring Documentation, Release 1.5.2
How to create an array of buttons in GUI applica-
tions?, 1721
How to extend RingQt and add more classes?, 1727
How to get the current source ļ¬le path?, 1714
How to get the ļ¬le size using ftell() and fseek() func-
tions?, 1714
How to insert an item to the ļ¬rst position in the list?,
1719
How to perform some manipulations on selected
cells in QTableWidget?, 1730
How to print keys or values only in List/Dictionary?,
1715
How to print lists that contains objects?, 1719
How to print new lines and other characters?, 1720
How to use many source code ļ¬les in the project?,
1716
How to use NULL and ISNULL() function?, 1718
How to use SQLite using ODBC?, 1724
Introduction, 1699
Is Ring some sort of improvement over PHP?, 1702
List index start from 1, 1708
Philosophy behind data types in Ring, 1705
Search of global names while deļ¬ning the class at-
tributes, 1712
The documentation says functional programming is
supported, but then this happens?, 1704
What about predeļ¬ned parameters or optional pa-
rameters in functions?, 1714
What about the Boolean values in Ring?, 1706
What are the advantages to using Ring over C# or
Java?, 1704
What are the advantages to using Ring over Lisp or
Smalltalk?, 1701
What are the advantages to using Ring over native C
or C++?, 1702
What are the advantages to using Ring over Python
and Ruby?, 1703
What are the advantages to using Ring over Tcl and
Lua?, 1703
What happens when we create a new object?, 1710
What is the difference between Ring and Python?
And is Ring Open Source?, 1702
Where can I write a program and execute it?, 1713
Why do we need Yet Another Programming Lan-
guage (YAPL)?, 1700
Why I get a strange result when printing nl with
lists?, 1715
Why I get Calling Function without deļ¬nition Er-
ror?, 1726
Why Ring is largely focussed on UI creation?, 1702
Why Ring is not case-sensitive, 1708
Why Ring is weakly typed?, 1701
Why Ring uses āSeeā, āGiveā, āButā and āOkā Key-
words?, 1705
Why setClickEvent() doesnāt see the object methods
directly?, 1726
Why the ability to deļ¬ne your own languages Instead
of just handing over the syntax so you can parse
it using whatever code you like?, 1704
Why the Assignment operator uses Deep copy?,
1709
Why the window title bar is going outside the
screen?, 1720
Why this example use the GetChar() twice?, 1717
Why we donāt use () after the qApp class name?,
1720
Why you can specify the number of loops you want
to break out of?, 1705
Fseek()
Files, 216
Fsetpos()
Files, 217
FSize()
Stdlib Functions, 311
Ftell()
Files, 216
Function Prototype
Extension, 742
function prototype
Code Generator, 751
Function Structure
Extension, 740
Functional Programming
Anonymous and Nested Functions, 277
Equality of functions, 278
First-Class Functions, 276
Higher-order Functions, 276
Introduction, 274
Pure Functions, 275
Functions - First Style
Call Functions, 168
Declare parameters, 169
Deļ¬ne Functions, 168
Introduction, 167
Main Function, 169
Recursion, 171
Return Value, 170
Send Parameters, 169
Variables Scope, 170
Functions - Second Style
Call Functions, 172
Declare parameters, 173
Deļ¬ne Functions, 172
Introduction, 171
Main Function, 173
Recursion, 175
Return Value, 174
Send Parameters, 173
Index 1754