Saturday, 29 October 2016

Introduction to Ruby

This is my scripting blog where I am doing experiments and learning. In this I might encounter some of the errors and how I've resolved them by understanding by reading "HeadFirt Ruby" book. I really love to read this book which helped me to give strengthen my programming skill. When I got to some conclusion I will execute it and then move forward on the concept. So here my first day experiments with Ruby.

Why Ruby scripting for DevOps?


I did little search on the google trends what all tools used in configuration management found the following:

  • Chef
  • Puppet
  • Ansible
  • SaltTalk

There are different tools at varety of reasons, all of them are looking for the scripting language that could be a definative way of expressing. They all need client-server model but fastest communicatiive way. Better way of  memory management by itself. writing could be as easy as possible.

Configuration Tool analysis on recent demand 

Anyway my learning of Ruby script is justified by the above trends in demand currently. Lets do this and progress towards success in DevOps tools easily.

My list of understanding topics are :

  1. Math Arithmetic operators
  2. comparison operators
  3. String usage



Math operators in Ruby

Here I am experimenting with some of the operators that does simple calucations. I've opened an irb shell to execute these operations.
irb(main):001:0> 5.4 - 3
=> 2.4000000000000004
irb(main):002:0> 3 * 4
=> 12
irb(main):003:0> 7 / 3
=> 2
irb(main):004:0> 7.0 / 3
=> 2.3333333333333335
irb(main):005:0> 7.0 3
SyntaxError: (irb):5: syntax error, unexpected tINTEGER, expecting end-of-input
        from /bin/irb:12:in `
' irb(main):006:0> 7.0/3 => 2.3333333333333335 irb(main):007:0> 2**3 => 8 irb(main):008:0> 4**9 => 262144 irb(main):009:0> 1.4***3 SyntaxError: (irb):9: syntax error, unexpected * 1.4***3 ^ from /bin/irb:12:in `
' irb(main):010:0> 1.4***3 SyntaxError: (irb):10: syntax error, unexpected * 1.4***3 ^ from /bin/irb:12:in `
' irb(main):011:0> 1.4**3 => 2.7439999999999993 irb(main):012:0> 4<6> true irb(main):013:0> 21 => 21 irb(main):014:0> 2ge5 SyntaxError: (irb):14: syntax error, unexpected tIDENTIFIER, expecting end-of-input from /bin/irb:12:in `
' irb(main):015:0> 4<=2 => false irb(main):016:0> 1+2==4 => false irb(main):017:0> 1+2==3 => true 
Now how to use your Ruby variable got some idea. Then you goto develop the Ruby script I will not use such syntaxError.

Strings in Ruby

I am here to expose when we do mistakes in Ruby scripting, why we are here to get this. To cope up with multipe devops problems and get the solutions with Ruby but to began or conclude something we need strings.

irb(main):027:0> name x
NoMethodError: undefined method `name' for main:Object
        from (irb):27
        from /bin/irb:12:in `
' irb(main):028:0> x => 3 irb(main):029:0> name | x NoMethodError: undefined method `|' for "hari":String from (irb):29 from /bin/irb:12:in `
' irb(main):030:0> name and x => 3 irb(main):031:0> x=3 => 3 irb(main):032:0> y=4 => 4 irb(main):033:0> x+y => 7 irb(main):034:0> y+=1 => 5 irb(main):035:0> x-=2 => 1 irb(main):036:0> name +="jitta" => "harijitta"

My interactive ruby commands failed sometimes it is not good but I learnt what can be string type objects better way to use them in the scripting.