This chapter summarizes various functions available in the Ring standard library (stdlib) for input/output, file handling, string manipulation, and mathematical operations. Some of the functions described include puts() and print() for output, getstring() and getnumber() for input, apppath() and justfilepath() for file paths, split() and splitmany() for string splitting, newlist() for multidimensional lists, capitalized() for capitalization, and mathematical functions like factorial(), fibonacci(), gcd(), and isprime() for prime checking. Many examples are provided to demonstrate the usage of these stdlib functions.
2024: Domino Containers - The Next Step. News from the Domino Container commu...
The Ring programming language version 1.3 book - Part 25 of 88
1. CHAPTER
THIRTYEIGHT
STDLIB FUNCTIONS
In this chapter we are going to learn about functions in the stdlib.ring
38.1 puts() function
print the value then print new line (nl)
Syntax:
puts(expr)
Example:
Load "stdlib.ring"
Puts("Hello, World!")
38.2 print() function
print string - support n,t and r
Also we can use #{variable_name} to insert variables values.
Syntax:
print(string)
Example:
Load "stdlib.ring"
print("nHello, WorldnnHow are you? tt I'm fine!n")
x=10 y=20
print("nx value = #{x} , y value = #{y} n")
38.3 getstring() function
Get input from the keyboard - return value as string
getstring() ---> string
218
2. Ring Documentation, Release 1.3
38.4 getnumber() function
Get input from the keyboard - return value as number
getnumber() ---> number
38.5 apppath() function
Get the path of the application folder
Syntax:
AppPath() ---> The path as String
Example:
Load "stdlib.ring"
# Application Path
Puts("Test AppPath()")
See AppPath() + nl
38.6 JustFilePath() function
Get the path of the file, remove the file name.
Syntax:
JustFilePath(cFile) ---> The path as String
Example:
load "stdlib.ring"
see justfilePath("b:ringapplicationsrnoternote.ring")
Output:
b:ringapplicationsrnote
38.7 JustFileName() function
Get the file, remove the file path.
Syntax:
JustFileName(cFile) ---> The file name as String
Example:
load "stdlib.ring"
see justfileName("b:ringapplicationsrnoternote.ring")
38.4. getnumber() function 219
3. Ring Documentation, Release 1.3
Output:
rnote.ring
38.8 value() function
create a copy from a list or object
Syntax:
value(List) ---> new list
Example:
Load "stdlib.ring"
aList = 1:10
del(value(aList),1) # delete first item
see aList # print numbers from 1 to 10
38.9 times() function
Execute a Function nCount times
Syntax:
Times(nCount,function)
Example:
Load "stdlib.ring"
Puts("Test Times()")
Times ( 3 , func { see "Hello, World!" + nl } )
38.10 map() function
Execute a Function on each list item
Syntax:
Map(alist,function)
Example:
Load "stdlib.ring"
Puts("Test Map()")
See Map( 1:10, func x { return x*x } )
38.8. value() function 220
4. Ring Documentation, Release 1.3
38.11 filter() function
Execute a Function on each list item to filter items
Syntax:
Filter(alist,function)
Example:
Load "stdlib.ring"
Puts("Test Filter()")
See Filter( 1:10 , func x { if x <= 5 return true else return false ok } )
38.12 split() function
Convert string words to list items
Syntax:
Split(cstring,delimiter) ---> List
Example:
Load "stdlib.ring"
Puts("Test Split()")
See Split("one two three four five"," ")
38.13 splitmany() function
Convert string words to list items. Allow many delimiters.
Syntax:
SplitMany(cstring,delimiters as string or list) --> List
Example:
Load "stdlib.ring"
Puts("Test SplitMany()")
See SplitMany("one,two,three,four and five"," ,")
38.14 newlist() function
Create a two dimensional list
Syntax:
NewList(nRows,nColumns) ---> new list
Example:
38.11. filter() function 221
5. Ring Documentation, Release 1.3
Load "stdlib.ring"
Puts("Test Newlist()")
a1 = 3
a2 = 5
chrArray = newlist(a1,a2)
numArray = newlist(a1,a2)
chrArray[1][1] = "Hello"
numArray[1][1] = 987.2
See chrArray[1][1] + nl
See numArray[1][1] + nl
38.15 capitalized() function
Return a copy of a string with the first letter capitalized
Syntax:
Capitalized(string) ---> string
Example:
Load "stdlib.ring"
Puts("Test Capitalized()")
See capitalized("welcome to the Ring Programming Language")
38.16 isspecial() function
Check whether a character is special or not
Syntax:
IsSpecial(char) ---> True/False
Example:
Load "stdlib.ring"
Puts("Test Isspecial()")
See "Isspecial = " + isSpecial("%") + nl
38.17 isvowel() function
Check whether a character is vowel or not
Syntax:
IsVowel(char) ---> True/False
Example:
38.15. capitalized() function 222
6. Ring Documentation, Release 1.3
Load "stdlib.ring"
Puts("Test Isvowel()")
See "Isvowel = " + isVowel("c") + nl
38.18 linecount() function
Return the lines count in a text file.
Syntax:
LineCount(cFileName) ---> Lines Count as number
Example:
Load "stdlib.ring"
Puts("Test Linecount()")
See "the number of lines = " + lineCount("test.ring")
38.19 factorial() function
Return the factorial of a number
Syntax:
Factorial(number) ---> number
Example:
Load "stdlib.ring"
Puts("Test Factorial()")
see "6 factorial is : " + Factorial(6)
38.20 fibonacci() function
Return the fibonacci number
Syntax:
Fibonacci(number) ---> number
Example:
Load "stdlib.ring"
Puts("Test Fibonacci()")
see "6 Fibonacci is : " + Fibonacci(6)
38.18. linecount() function 223
7. Ring Documentation, Release 1.3
38.21 isprime() function
Check whether a number is prime or not
Syntax:
isprime(number) ---> Number
Example:
Load "stdlib.ring"
Puts("Test Isprime()")
if isPrime(16) see "16 is a prime number"
else see "16 is not a prime number" ok
38.22 sign() function
Returns an integer value indicating the sign of a number.
Syntax:
Sign(number) ---> number ( -1 = negative , 0 , 1 (positive) )
Example:
Load "stdlib.ring"
Puts("Test Sign()")
see "sign of 12 is = " + sign(12) + nl
38.23 list2file() function
Write list items to text file (each item in new line).
Syntax:
List2File(aList,cFileName)
Example:
Load "stdlib.ring"
# Test List2File
Puts("Test List2File()")
list2file(1:100,"myfile.txt")
38.24 file2list() function
Read text file and convert lines to list items
Syntax:
38.21. isprime() function 224
8. Ring Documentation, Release 1.3
File2List(cFileName) ---> List
Example:
Load "stdlib.ring"
# Test File2List
Puts("Test File2List()")
see len(file2list("myfile.txt"))
38.25 startswith() function
Returns true if the given string starts with the specified substring.
Leading white spaces are ignored.
Syntax:
StartsWith(string, substring) ---> True/False
Example:
Load "stdlib.ring"
Puts("Test Startswith()")
see Startswith("CalmoSoft", "Calmo") + nl
38.26 endswith() function
Returns true if the given string ends with the specified substring.
Trailing white spaces are ignored.
Syntax:
Endswith(string, substring) ---> True/False
Example:
Load "stdlib.ring"
Puts("Test Endswith()")
see endsWith("CalmoSoft", "Soft") + nl
38.27 gcd() function
Finding of the greatest common divisor of two integers.
Syntax:
Gcd(number,number) ---> number
Example:
38.25. startswith() function 225
9. Ring Documentation, Release 1.3
Load "stdlib.ring"
Puts("Test Gcd()")
see gcd (24, 32) + nl
38.28 lcm() function
Compute the least common multiple of two integers.
Syntax:
lcm(number,number) ---> number
Example:
Load "stdlib.ring"
Puts("Test Lcm()")
see Lcm(24,36) + nl
38.29 sumlist() function
Compute the sum of a list of integers.
Syntax:
sumlist(list) ---> number
Example:
Load "stdlib.ring"
Puts("Test Sumlist()")
aList = [1,2,3,4,5]
see Sumlist(aList) + nl
38.30 prodlist() function
Compute the product of a list of integers.
Syntax:
prodlist(list) ---> number
Example:
Load "stdlib.ring"
Puts("Test Prodlist()")
aList = [1,2,3,4,5]
see Prodlist(aList) + nl
38.28. lcm() function 226
10. Ring Documentation, Release 1.3
38.31 evenorodd() function
Test whether an integer is even or odd.
Result of test (1=odd 2=even).
Syntax:
evenorodd(number) ---> 1 (odd) or 2 (even)
Example:
Load "stdlib.ring"
Puts("Test Evenorodd()")
nr = 17
see Evenorodd(nr) + nl
38.32 factors() function
Compute the factors of a positive integer.
Syntax:
factors(list) ---> list
Example:
Load "stdlib.ring"
Puts("Test Factors()")
n = 45
aList = factors(n)
see "Factors of " + n + " = "
for i = 1 to len(aList)
see "" + aList[i] + " "
next
38.33 palindrome() function
Check if a sequence of characters is a palindrome or not.
Syntax:
Palindrome(String) ---> True/False
Example:
Load "stdlib.ring"
Puts("Test Palindrome()")
cString = "radar"
see Palindrome(cString)
38.31. evenorodd() function 227