The Ring programming language version 1.7 book - Part 196 of 196
1. Ring Documentation, Release 1.7
Scaling and Rotating Images
Graphics and Game Programming, 471
Scope Rules
Accessing the class attributes from braces inside
class methods, 740
Conļ¬ict between Class Attributes and Local Vari-
ables, 737
Conļ¬ict between Global Variables and Class At-
tributes, 736
Conļ¬ict between self inside braces and self in the
class region, 743
Creating a Class for each Window in GUI applica-
tions, 742
Deļ¬ning Variables and Variables Access, 734
How Ring ļ¬nd the Variable?, 735
Introduction, 733
Summary of Scope Rules, 747
The Self Object, 735
Three Scopes, 734
Using Braces to access objects inside Class Methods,
738
Using braces to escape from the current object scope,
746
Using Object.Attribute, 735
Scope Rules for Functions and Methods
Calling a function sharing the name with a method in
the current class, 751
Example about Sharing Names between Functions
and Methods, 749
How Ring ļ¬nd a functions and methods?, 749
Introduction, 748
ScriptFunctions Class
Web Development (CGI Library), 452
Search
Lists, 219
Search of global names while deļ¬ning the class attributes
Frequently Asked Questions, 867
Security and Internet Functions
Decrypt(), 298
Download(), 299
Encrypt(), 297
Example, 298
File Hash, 298
Introduction, 294
MD5(), 295
RandBytes(), 299
SendEmail(), 299
SHA1(), 296
SHA224(), 297
SHA256(), 296
SHA384(), 297
SHA512(), 296
Security Class
Stdlib Classes, 376
Send Parameters
Functions - First Style, 204
Functions - Second Style, 208
Functions - Third Style, 212
SendEmail()
Security and Internet Functions, 299
Serial Execution of Programs
Embedding Ring in Ring, 818
Server Example
RingLibuv, 484
Server Example using Classes
RingLibuv, 487
Set List Item
Lists, 218
setattribute()
Reļ¬ection and Meta-programming, 334
Setter and Getter
Object Oriented Programming, 305
SHA1()
Security and Internet Functions, 296
SHA224()
Security and Internet Functions, 297
SHA256()
Security and Internet Functions, 296
SHA384()
Security and Internet Functions, 297
SHA512()
Security and Internet Functions, 296
Shared Libraries
Extension, 830
Short-circuit evaluation
Control Structures - First Style, 190
Shutdown() Function
System Functions, 266
sign()
Stdlib Functions, 343
Simple
Language Design, 28
Simple Client and Server Example
Desktop and Mobile Development, 680
Sin() Implementation
Extension, 826
Single: Desktop and Mobile Development
Introduction, 611
sleep()
Stdlib Functions, 350
Smart Garbage Collector
Language Design, 36
Sort()
Lists, 219
Sort() and List of Objects
Object Oriented Programming, 311
Sound Class
Game Engine for 2D Games, 495
Index 1922
2. Ring Documentation, Release 1.7
Source Code File Sections
Program Structure, 215
space()
Low Level Functions, 793
Special thanks to contributors
How to contribute?, 151
split()
Stdlib Functions, 340
splitmany()
Stdlib Functions, 340
Sprite Automatic Movement
Game Engine for 2D Games, 502
Sprite Class
Game Engine for 2D Games, 494
Sprite Keypress Event
Game Engine for 2D Games, 503
Sprite Mouse Event
Game Engine for 2D Games, 504
Sprite State Event
Game Engine for 2D Games, 505
SQLite
Introduction, 291
sqlite_close(), 292
sqlite_execute(), 292
sqlite_init(), 292
sqlite_open(), 292
SQLite Class
Stdlib Classes, 375
sqlite_close()
SQLite, 292
sqlite_execute()
SQLite, 292
sqlite_init()
SQLite, 292
sqlite_open()
SQLite, 292
Squares Puzzle Game
Applications developed in little hours, 8
Stack Class
Stdlib Classes, 360
Stars Fighter Game
Game Engine for 2D Games, 514
startswith()
Stdlib Functions, 344
StdBase Class
Stdlib Classes, 355
Stdlib Classes
Conversion Class, 372
DataType Class, 371
DateTime Class, 366
Debug Class, 370
File Class, 368
HashTable Class, 361
Internet Class, 377
Introduction, 354
List Class, 358
Math Class, 363
MySQL Class, 374
ODBC Class, 373
Queue Class, 360
Security Class, 376
SQLite Class, 375
Stack Class, 360
StdBase Class, 355
String Class, 356
System Class, 369
Tree Class, 362
Stdlib Functions
apppath(), 338
binarydigits(), 347
capitalized(), 341
changestring(), 350
dayofweek(), 348
direxists(), 350
endswith(), 344
EpochTime(), 352
evenorodd(), 346
factorial(), 342
factors(), 346
ļ¬bonacci(), 343
ļ¬le2list(), 344
ļ¬lter(), 340
FSize(), 351
gcd(), 345
getnumber(), 338
getstring(), 338
Introduction, 336
isleapyear(), 347
ismainsourceļ¬le(), 350
isprime(), 343
isspecial(), 341
isvowel(), 342
JustFileName(), 339
JustFilePath(), 338
lcm(), 345
linecount(), 342
list2ļ¬le(), 343
ListAllFiles() Function, 352
makedir(), 351
map(), 340
matrixmulti(), 347
matrixtrans(), 348
newlist(), 341
OSCopyFile() Function, 353
OSCopyFolder() Function, 353
OSCreateOpenFolder() Function, 353
OSDeleteFile() Function, 354
OSDeleteFolder() Function, 353
Index 1923
3. Ring Documentation, Release 1.7
OSRenameFile() Function, 354
palindrome(), 347
permutation(), 348
print(), 337
Print2Str() Function, 337
prodlist(), 346
puts(), 337
readline(), 349
sign(), 343
sleep(), 350
split(), 340
splitmany(), 340
startswith(), 344
substring(), 349
sumlist(), 345
SystemCmd() Function, 352
SystemSilent() Function, 353
times(), 339
TrimAll(), 351
TrimLeft(), 351
TrimRight(), 352
value(), 339
StdLib functions and classes written in Ring
What is new in Ring 1.1?, 136
Step Option
Control Structures - First Style, 188
Str2Hex()
Data Type, 244
str2list() and list2str()
Strings, 231
strcmp()
Strings, 231
String Class
Stdlib Classes, 356
String Literals
Strings, 227
String()
Data Type, 242
Strings
Access String Letters, 227
Convert Letters Case, 227
Copy(), 229
Find SubString, 230
Get Number of Characters from position, 230
Get String Length, 227
Get Substring from position to end, 230
Introduction, 226
Left(), 228
Lines(), 229
Right(), 228
str2list() and list2str(), 231
strcmp(), 231
String Literals, 227
Substr(), 229
Transform Substring To Another Substring, 230
Trim(), 229
StyleFunctions Class
Web Development (CGI Library), 452
Substr()
Strings, 229
substring()
Stdlib Functions, 349
sumlist()
Stdlib Functions, 345
Summary of Scope Rules
Scope Rules, 747
Super Man 2016 Game
Game Engine for 2D Games, 529
Swap Items
Lists, 225
Switch Between Two Images
RingLibSDL, 476
Switch Statement
Control Structures - First Style, 186
Control Structures - Second Style, 193
Control Structures - Third Style, 196
Syntax Flexibility
Change Language Keywords, 753
Change Language Operators, 754
Introduction, 752
Language Design, 34
Load Syntax Files, 754
Using ācaseā as āonā in switch statements, 760
Using ādefā as āfuncā in functions/methods deļ¬ni-
tion, 760
Using āendā keyword after Pack-
ages/Classes/Functions, 761
Using āendpackageā/āendclassā/āendfuncā keywords
after Packages/Classes/Functions, 761
Using āputā and āgetā as āseeā and āgiveā, 760
Using () around the function parameters, 754
in the start of the variable name, 757
Using braces { } in Packages/Classes/Functions, 761
Using braces to start and end different control struc-
tures, 759
Using Semi-colon after and between statements, 756
Using the āelseā keyword as āotherā in switch state-
ment, 757
Using the āelseifā keyword as ābutā in if statement,
757
Using the āendā keyword in different control struc-
tures, 758
What is new in Ring 1.1?, 133
SysGet() Function
System Functions, 261
System Class
Stdlib Classes, 369
System Functions
Index 1924
4. Ring Documentation, Release 1.7
ChDir() Function, 265
CurrentDir() Function, 265
Example, 262
ExeFileName() Function, 265
ExeFolder() Function, 265
Get Active Source File Name, 264
Get Command Line Arguments, 263
Introduction, 259
IsAndroid() Function, 262
IsFreeBSD() Function, 262
IsLinux() Function, 262
IsMacOSX() Function, 261
IsMSDOS() Function, 261
IsUnix() Function, 261
IsWindows() Function, 261
IsWindows64() Function, 261
PrevFileName() Function, 264
Shutdown() Function, 266
SysGet() Function, 261
System() Function, 260
Version() Function, 265
Windowsnl() Function, 263
System() Function
System Functions, 260
SystemCmd() Function
Stdlib Functions, 352
SystemSilent() Function
Stdlib Functions, 353
Tempļ¬le()
Files, 254
Templates
Web Development (CGI Library), 416
Tempname()
Files, 254
Testing
How to contribute?, 151
Text Class
Game Engine for 2D Games, 494
The Browser Menu
Ring Notepad, 172
The Camera
Using RingOpenGL and RingFreeGLUT for 3D
Graphics, 554
The Cards Game
Demo Programs, 702
Desktop and Mobile Development, 702
The Designer Windows
Form Designer, 727
The Difference between Qt and RingQt
Desktop and Mobile Development, 712
The Distribute Menu
Ring Notepad, 173
The documentation says functional programming is sup-
ported, but then this happens?
Frequently Asked Questions, 859
The Edit Menu
Ring Notepad, 169
The Events Loop
RingLibuv, 484
The File Menu
Ring Notepad, 169
The First GUI Application
Desktop and Mobile Development, 612
The First Triangle
Using RingOpenGL and RingFreeGLUT for 3D
Graphics, 547
The First Window using RingFreeGLUT
Using RingOpenGL and RingFreeGLUT for 3D
Graphics, 545
The Help Menu
Ring Notepad, 173
The Main File in the Project
Ring Notepad, 168
The Natural Library
What is new in Ring 1.4?, 102
The Program Menu
Ring Notepad, 172
The Properties
Form Designer, 727
The Self Object
Scope Rules, 735
The Tools Menu
Ring Notepad, 173
The Trace Library and the Interactive Debugger
BreakPoint, 815
Disable BreakPoints, 815
Execute Program Line by Line, 814
Interactive Debugger, 814
Introduction, 812
Loading the Trace library, 813
Pass Error, 814
Trace All Events, 813
Trace control ļ¬ow between functions, 813
Using the Interactive Debugger, 815
The Type Hints Library
Example, 763
Introduction to the Type Hints Library, 762
Rules, 764
User Types, 763
Using Types inside Code, 764
Why Type Hints?, 763
The View Menu
Ring Notepad, 170
Threads
Graphics and Game Programming, 473
Threads Example
Index 1925
5. Ring Documentation, Release 1.7
RingLibuv, 489
Threads Example - Using Classes
RingLibuv, 490
Threads Support
Code Generator, 842
Three Scopes
Scope Rules, 734
TicTacToe 3D Game
Using RingOpenGL and RingAllegro for 3D Graph-
ics, 601
TicTacToe Game
Applications developed in little hours, 7
Time()
Date and Time, 233
TimeList()
Date and Time, 234
times()
Stdlib Functions, 339
Trace All Events
The Trace Library and the Interactive Debugger, 813
Trace control ļ¬ow between functions
The Trace Library and the Interactive Debugger, 813
Trace Library and Interactive Debugger
What is new in Ring 1.5?, 86
Transaction Example
MySQL Functions, 290
Transactions and Using Commit and Rollback
ODBC Functions, 280
Transform Substring To Another Substring
Strings, 230
Transparent Image
Graphics and Game Programming, 472
Transparent Implementation
Language Design, 34
Tree Class
Stdlib Classes, 362
Triangle Rotation
Using RingOpenGL and RingFreeGLUT for 3D
Graphics, 550
Trim()
Strings, 229
TrimAll()
Stdlib Functions, 351
TrimLeft()
Stdlib Functions, 351
TrimRight()
Stdlib Functions, 352
TrueType Fonts
Graphics and Game Programming, 469
Try/Carch/Done
Eval() and Debugging, 267
Trying to be natural
Language Design, 29
Type Hints Library
What is new in Ring 1.5?, 89
Type()
Data Type, 238
Ungetc()
Files, 256
Unsigned()
Mathematical Functions, 248
Update the Android SDK
Building RingQt Applications for Mobile, 717
Upload Files
Web Development (CGI Library), 410
URL Encode
Web Development (CGI Library), 415
Use TTF Fonts
RingLibSDL, 478
User Types
The Type Hints Library, 763
Users registration and Login
Web Development (CGI Library), 437
Using ā<ā and ā:ā operators as āfromā keyword
What is new in Ring 1.3?, 122
Using ācaseā as āonā in switch statements
Syntax Flexibility, 760
Using ādefā as āfuncā in functions/methods deļ¬nition
Syntax Flexibility, 760
Using āendā keyword after Packages/Classes/Functions
Syntax Flexibility, 761
Using āendpackageā/āendclassā/āendfuncā keywords after
Packages/Classes/Functions
Syntax Flexibility, 761
Using āputā and āgetā as āseeā and āgiveā
Syntax Flexibility, 760
Using () around the function parameters
Syntax Flexibility, 754
Using ? to print expression then new line
Getting Started - First Style, 154
What is new in Ring 1.6?, 55
in the start of the variable name
Syntax Flexibility, 757
Using && and || operators
What is new in Ring 1.6?, 54
Using _ in numbers
Mathematical Functions, 249
Using Atom
Using Other Code Editors, 177
Using Bootstrap Library using Functions
Web Development (CGI Library), 431
Using Bootstrap Library using Objects
Web Development (CGI Library), 432
Using braces { } in Packages/Classes/Functions
Syntax Flexibility, 761
Using Braces to access objects inside Class Methods
Scope Rules, 738
Index 1926
6. Ring Documentation, Release 1.7
Using braces to escape from the current object scope
Scope Rules, 746
Using braces to start and end different control structures
Syntax Flexibility, 759
Using C/C++ Compiler and Linker
Distributing Ring Application, 782
Using conļ¬guration ļ¬le that wrap C++ library
Code Generator, 844
Using CR as Carriage return
What is new in Ring 1.6?, 54
Using Emacs Editor
Using Other Code Editors, 179
Using Eval() with our Natural Code
Natural Language Programming, 388
Using f after numbers
Mathematical Functions, 249
Using Fonts
Using RingOpenGL and RingFreeGLUT for 3D
Graphics, 571
Using Geany
Using Other Code Editors, 176
Using Layout
Desktop and Mobile Development, 613
Using Layouts
Form Designer, 733
Using Lists during deļ¬nition
Lists, 222
Using Many Source Code Files
Program Structure, 215
Using Notepad++
Using Other Code Editors, 175
Using NULL instead of NULLPointer()
What is new in Ring 1.2?, 130
Using Object.Attribute
Scope Rules, 735
Using Other Code Editors
Introduction, 174
Using Atom, 177
Using Emacs Editor, 179
Using Geany, 176
Using Notepad++, 175
Using Sublime Text 2, 178
Using Visual Studio IDE, 179
Using QCheckBox
Desktop and Mobile Development, 640
Using QComboBox Class
Desktop and Mobile Development, 621
Using QDateEdit
Desktop and Mobile Development, 635
Using QDesktopWidget Class
Desktop and Mobile Development, 675
Using QDial
Desktop and Mobile Development, 636
Using QDockWidget
Desktop and Mobile Development, 628
Using QFrame
Desktop and Mobile Development, 645
Using QInputDialog Class
Desktop and Mobile Development, 666
Using qLCDNumber
Desktop and Mobile Development, 663
Using QProgressBar
Desktop and Mobile Development, 632
Using QProgressBar and Timer
Desktop and Mobile Development, 655
Using QRadioButton and QButtonGroup
Desktop and Mobile Development, 641
Using QSlider
Desktop and Mobile Development, 633
Using QSpinBox
Desktop and Mobile Development, 633
Using QTableWidget
Desktop and Mobile Development, 631
Using QTabWidget
Desktop and Mobile Development, 629
Using QTreeView and QFileSystemModel
Desktop and Mobile Development, 619
Using QTreeWidget and QTreeWidgetItem
Desktop and Mobile Development, 620
Using QWebView
Desktop and Mobile Development, 639
Using Ring2EXE
Building RingQt Applications for Mobile, 720
Distributing Ring Application using Ring2EXE, 783
Using RingOpenGL and RingAllegro for 3D Graphics
3D Cube and Texture, 592
Introduction, 591
Many Cubes, 596
TicTacToe 3D Game, 601
Using RingOpenGL and RingFreeGLUT for 3D Graphics
Drawing using RingOpenGL, 546
Frames Per Second, 579
Introduction, 543
Keyboard Events and Colors, 551
Make a Cube using RingOpenGL and RingFreeG-
LUT, 588
Menu Events, 564
Mouse Events, 560
Samples Source (Authors), 544
The Camera, 554
The First Triangle, 547
The First Window using RingFreeGLUT, 545
Triangle Rotation, 550
Using Fonts, 571
What is RingFreeGLUT?, 545
What is RingOpenGL?, 544
Window Resize Event, 548
Using RingZip Classes
Index 1927
7. Ring Documentation, Release 1.7
RingZip, 459
Using Self.Attribute
Object Oriented Programming, 312
Using Self.Attribute in the Class Region to deļ¬ne new at-
tributes
What is new in Ring 1.1?, 140
Using Semi-colon after and between statements
Syntax Flexibility, 756
Using Sublime Text 2
Using Other Code Editors, 178
Using Tab instead of char(9)
What is new in Ring 1.6?, 53
Using the
operator as not
What is new in Ring 1.6?, 54
Using the āelseā keyword as āotherā in switch statement
Syntax Flexibility, 757
Using the āelseifā keyword as ābutā in if statement
Syntax Flexibility, 757
Using the āendā keyword in different control structures
Syntax Flexibility, 758
Using the Interactive Debugger
The Trace Library and the Interactive Debugger, 815
Using the Natural Library
Deļ¬ning Commands, 396
Deļ¬ning commands using classes, 399
Introduction, 393
Natural Library - Demo Program, 394
Operators, 398
Using the QColorDialog Class
Desktop and Mobile Development, 662
Using the QFileDialog Class
Desktop and Mobile Development, 657
Using the QListWidget Class
Desktop and Mobile Development, 616
Using the QTextEdit Class
Desktop and Mobile Development, 615
Using the QTimer Class
Desktop and Mobile Development, 654
Using the tool
Code Generator, 835
Using This.Attribute in nested Braces inside the Class
Methods
What is new in Ring 1.1?, 140
Using Types inside Code
The Type Hints Library, 764
Using Visual Studio IDE
Using Other Code Editors, 179
value()
Stdlib Functions, 339
Variables
Deep Copy, 181
Dynamic Typing, 181
Introduction, 180
Weakly Typed, 182
Variables Scope
Functions - First Style, 205
Functions - Second Style, 209
Functions - Third Style, 213
varptr()
Low Level Functions, 793
Version() Function
System Functions, 265
Video-Music-Player Application
Applications developed in little hours, 9
What is new in Ring 1.5?, 57
Virtual Machine Instructions
Reference, 893
Visual Implementation
Language Design, 35
Weakly Typed
Variables, 182
Web Development (CGI Library)
Application Class, 449
Conļ¬gure the Apache web server, 401
Cookies, 413
CRUD Example using MVC, 435
Database, ModelBase & ControllerBase classes, 443
Generating Pages using Objects, 425
Gradient, 424
Hash Functions, 419
Hello World Program using the Web Library, 402
HTML Lists, 422
HTML Special Characters, 418
HTML Tables, 423
HtmlPage Class, 430, 454
HTTP Get Example, 403
HTTP POST Example, 408
Introduction, 400
Page Class, 450
Random Image, 421
Ring CGI Hello World Program, 402
ScriptFunctions Class, 452
StyleFunctions Class, 452
Templates, 416
Upload Files, 410
URL Encode, 415
Users registration and Login, 437
Using Bootstrap Library using Functions, 431
Using Bootstrap Library using Objects, 432
Web Library Features, 403
WebLib API, 448
WebPage Class, 453
Web Library Features
Web Development (CGI Library), 403
WebLib API
Index 1928
8. Ring Documentation, Release 1.7
Web Development (CGI Library), 448
WebPage Class
Web Development (CGI Library), 453
Weight History Application
Desktop and Mobile Development, 683
Werdy Application
Applications developed in little hours, 12
What about predeļ¬ned parameters or optional parameters
in functions?
Frequently Asked Questions, 869
What about the Boolean values in Ring?
Frequently Asked Questions, 861
What are the advantages of using Ring over native C or
C++?
Frequently Asked Questions, 857
What are the advantages to using Ring over C# or Java?
Frequently Asked Questions, 859
What are the advantages to using Ring over Lisp or
Smalltalk?
Frequently Asked Questions, 856
What are the advantages to using Ring over Python and
Ruby?
Frequently Asked Questions, 858
What are the advantages to using Ring over Tcl and Lua?
Frequently Asked Questions, 859
What happens when we create a new object?
Frequently Asked Questions, 865
What is new in Ring 1.1?
Better Code Generator for Extensions, 140
Better Documentation, 140
Better Natural Language Programming Support, 132
Game Engine for 2D Games, 138
Generate/Execute Ring Object Files (*.ringo), 133
Introduction, 131
List of changes and new features, 132
New Functions and Changes, 135
RingLibSDL, 138
RingSQLite, 139
StdLib functions and classes written in Ring, 136
Syntax Flexibility, 133
Using Self.Attribute in the Class Region to deļ¬ne
new attributes, 140
Using This.Attribute in nested Braces inside the
Class Methods, 140
What is new in Ring 1.2?
Better Call Command, 130
Better Functions, 127
Better Quality, 130
Better Ring Notepad, 127
Better RingQt, 127
Display Warnings Option, 130
Introduction, 125
List of changes and new features, 126
New Functions, 126
Objects Library for RingQt, 128
RingLibCurl, 129
Using NULL instead of NULLPointer(), 130
What is new in Ring 1.3?
Better Loop|Exit Command, 121
Better Ring Notepad, 117
Better RingQt, 113
Better StdLib, 121
Embedding Ring in Ring without sharing the State,
123
Form Designer, 124
Introduction, 112
List of changes and new features, 113
New Functions, 122
Return Self by Reference, 122
Ring mode for Emacs Editor, 120
RingZip Library, 123
Using ā<ā and ā:ā operators as āfromā keyword, 122
What is new in Ring 1.4.1?
What is new in Ring 1.4?, 109
What is new in Ring 1.4?
Better RingQt, 108
Better StdLib, 106
Better WebLib, 106
Change: Basic Extensions are separated from
RingVM, 101
Convert between Numbers and Bytes, 105
Introduction, 100
List of changes and new features, 101
New Style to Ring Notepad, 104
Qt Class Convertor, 108
RingREPL, 104
The Natural Library, 102
What is new in Ring 1.4.1?, 109
What is new in Ring 1.5.1?
What is new in Ring 1.5?, 90
What is new in Ring 1.5.2?
What is new in Ring 1.5?, 95
What is new in Ring 1.5.3?
What is new in Ring 1.5?, 96
What is new in Ring 1.5.4?
What is new in Ring 1.5?, 99
What is new in Ring 1.5?
Better Code Generator for Extensions, 81
Better Documentation Generator for Extensions, 82
Better Objects Library, 68
Better Quality, 90
Better Ring Notepad, 59
Better RingQt, 66
Better StdLib, 62
Better WebLib, 63
Calculator Application, 58
Introduction, 56
List of changes and new features, 57
Index 1929
9. Ring Documentation, Release 1.7
More Syntax Flexibility, 88
Ring VM - Tracing Functions, 82
RingFreeGLUT Extension, 68
RingOpenGL Extension, 77
Trace Library and Interactive Debugger, 86
Type Hints Library, 89
Video-Music-Player Application, 57
What is new in Ring 1.5.1?, 90
What is new in Ring 1.5.2?, 95
What is new in Ring 1.5.3?, 96
What is new in Ring 1.5.4?, 99
Windows StartUp Manager Application, 58
What is new in Ring 1.6?
Better Ring For Android, 47
Better Ring Notepad, 50
Better RingQt, 52
Better RingREPL, 53
Better RingVM, 53
Better Scripts for building Ring, 49
Better StdLib, 53
Employee Application, 46
Introduction, 45
List of changes and new features, 46
New Tool: Folder2qrc, 48
New Tool: Ring2EXE, 47
RingConsoleColors Extension, 49
RingMurmurHash Extension, 49
Using ? to print expression then new line, 55
Using && and || operators, 54
Using CR as Carriage return, 54
Using Tab instead of char(9), 53
Using the
operator as not, 54
What is new in Ring 1.7?
Better Documentation, 42
Better Ring Notepad, 41
Better Ring VM, 42
Better Ring2EXE, 42
Better RingQt, 41
Better RingZip, 42
Better Trace Library, 40
Introduction, 37
List of changes and new features, 38
New Command: Load Package, 38
ring_state_new() and ring_state_mainļ¬le() func-
tions, 40
RingLibuv Extension, 43
ringvm_see() and ringvm_give() functions, 39
What is RingFreeGLUT?
Using RingOpenGL and RingFreeGLUT for 3D
Graphics, 545
What is RingOpenGL?
Using RingOpenGL and RingFreeGLUT for 3D
Graphics, 544
What is the difference between Ring and Python? And is
Ring Open Source?
Frequently Asked Questions, 857
Where can I write a program and execute it?
Frequently Asked Questions, 868
Which of 3 coding styles are commonly used or recom-
mended by the community?
Frequently Asked Questions, 886
While Loop
Control Structures - First Style, 187
Control Structures - Third Style, 197
Why do we need Yet Another Programming Language
(YAPL)?
Frequently Asked Questions, 855
Why I get a strange result when printing nl with lists?
Frequently Asked Questions, 870
Why I get Calling Function without deļ¬nition Error?
Frequently Asked Questions, 881
Why is Ring largely focussed on UI creation?
Frequently Asked Questions, 857
Why is Ring weakly typed?
Frequently Asked Questions, 856
Why Ring is not case-sensitive
Frequently Asked Questions, 863
Why Ring uses āSeeā, āGiveā, āButā and āOkā Keywords?
Frequently Asked Questions, 860
Why Ring?
Language Design, 28
Why setClickEvent() doesnāt see the object methods di-
rectly?
Frequently Asked Questions, 881
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?
Frequently Asked Questions, 860
Why the Assignment operator uses Deep copy?
Frequently Asked Questions, 864
Why the window title bar is going outside the screen?
Frequently Asked Questions, 875
Why this example use the GetChar() twice?
Frequently Asked Questions, 872
Why Type Hints?
The Type Hints Library, 763
Why we donāt use () after the qApp class name?
Frequently Asked Questions, 875
Why you can specify the number of loops you want to
break out of?
Frequently Asked Questions, 860
Window Flags
Form Designer, 732
Window Resize Event
Using RingOpenGL and RingFreeGLUT for 3D
Graphics, 548
Windows StartUp Manager Application
Index 1930
10. Ring Documentation, Release 1.7
Applications developed in little hours, 11
What is new in Ring 1.5?, 58
Windowsnl() Function
System Functions, 263
Wrap structures
Code Generator, 837
Wrapping C++ Classes
Code Generator, 843
Write ļ¬le using Write()
Files, 251
Writing Comments
Getting Started - First Style, 155
Getting Started - Second Style, 157
Getting Started - Third Style, 159
Zip Class Reference
RingZip, 461
ZipEntry Class Reference
RingZip, 461
Index 1931