Built in Functions

Since the Kernel module is included by Object class, its methods are available everywhere in the Ruby program. They can be called without a receiver (functional form). Therefore, they are often called functions.A complete list of Built-in Functions is given here for your reference −

Functions for Numbers

Here is a list of Built-in Functions related to number. They should be used as follows −

#!/usr/bin/ruby

num =12.40
puts num.floor      # 12
puts num +10# 22.40
puts num.integer?# false  as num is a float.

This will produce the following result −

12
22.4
false

Assuming,nis a number −

Functions for Float

Here is a list of Ruby Built-in functions especially for float numbers. Assuming we have a float numberf

Functions for Math

Here is a list of Ruby Built-in math functions −

Conversion Field Specifier

The function sprintf( fmt[, arg…]) and format( fmt[, arg…]) returns a string in which arg is formatted according to fmt. Formatting specifications are essentially the same as those for sprintf in the C programming language. Conversion specifiers (% followed by conversion field specifier) in fmt are replaced by formatted string of corresponding argument.The following conversion specifiers are supported by Ruby’s format −

Following is the usage example −

#!/usr/bin/ruby

str = sprintf("%s\n","abc")# => "abc\n" (simplest form)
puts str 

str = sprintf("d=%d",42)# => "d=42" (decimal output)
puts str 

str = sprintf("%04x",255)# => "00ff" (width 4, zero padded)
puts str 

str = sprintf("%8s","hello")# => " hello" (space padded)
puts str 

str = sprintf("%.2s","hello")# => "he" (trimmed by precision)
puts str 

This will produce the following result −

abc
d = 42
00ff
   hello
he

Test Function Arguments

The function test( test, f1[, f2]) performs one of the following file tests specified by the character test. In order to improve readability, you should use File class methods (for example, File::readable?) rather than this function.Here are the file tests with one argument −File tests with two arguments are as follows −

Following is the usage example. Assuming main.rb exist with read, write and not execute permissions −

#!/usr/bin/ruby

puts test(?r,"main.rb")# => true
puts test(?w,"main.rb")# => true
puts test(?x,"main.rb")# => false

This will produce the following result −

true
false
false

Comments

Leave a Reply

Your email address will not be published. Required fields are marked *