Ruby
Sisukord
Sissejuhatus
Ruby http://www.ruby-lang.org/ on populaare programmeerimikeel, millele on iseloomulikud sellised asjaolud
- objekt-orienteeritud keel
- skriptimskeel
2010 aastal on levinud kaks Ruby versiooni
- 1.8 - ...
- 1.9 - ...
Ruby paigaldamine
Debian paketihalduses on olemas kaks Ruby versiooni
- 1.8.7 - vaikimisi, paigaldamiseks öelda
- 1.9.0 - võimalik lisaks paigaldada
1.8.7 vaikimisi Ruby paigaldmiseks sobib öelda (tegelik paketinimi on ruby1.8)
# apt-get install ruby
Ruby interpretaator
Ruby interpretaatori paigaldamiseks tuleb Debian operatsiooni puhul öelda
# apt-get install irb
Interpretaatorit saab kasutada nt kalkulaatorina
$ irb irb(main):001:0> 20.0/8 => 2.5
Ruby skript
Ruby see on imelihtne ehk lihtsaid käske-skripte ja muud vajalikku millega mängida ja midagi kokku klopsida. Ehk süntaksi õpe jms meenutused
Alustada võib ühe koleda lausega
puts "Hello, world!"
IO jaoks on hulk toredaid käske nagu..
gets, open, print, printf, putc, puts, readline, readlines
#!/usr/local/bin/ruby print "Enter your name: " name = gets
Jadatöötlus
ary = [1, 2, 3] puts ary[0]
cities = %w[ London Oslo Paris Amsterdam Berlin ] visited = %w[Berlin Oslo] puts "I still need " + "to visit the " + "following cities:", cities - visited
Stringitöötlus
herb = "parsley" puts herb[0,1] puts herb[0..3]
Random funktsioon
puts rand(10)
saame suvalise numbri 0-10
for num in (0..100) print num,"\n" end
Lihtne tsükkel nullist sajani
topelt tsükkel
#!/usr/local/bin/ruby 1.upto(10) do |fg| 1.upto(10) do |bg| print "1" end puts end
Shelli värvid
puts " \e[32mROHELINE\e[0m"
värvitabel, asjalik-vajalik
[0, 1, 4, 5, 7].each do |attr| puts '----------------------------------------------------------------' puts "ESC[#{attr};Foreground;Background" 30.upto(37) do |fg| 40.upto(47) do |bg| print "\033[#{attr};#{fg};#{bg}m #{fg};#{bg} " end puts "\033[0m" end end
#!/usr/bin/env ruby require 'pathname' Pathname.new($0).realpath()
#!/usr/bin/env ruby ARGV.each do|a| puts "Argument: #{a}" end
./arg.sh ahaa Argument: ahaa
failid
File.open("file", "r") do |io| # do something with io end
File.open("/location/of/my/file.txt", "r") do |f| while ! f.eof do line = f.gets puts line #Print the line to the screen end end
DNS
Skript esitab domeeninimele vastavad ip aadressid
require 'resolv' Resolv::DNS.new.each_address("www.loomaaed.tartu.ee") do |addr| puts "www.loomaaed.tartu.ee A kirje: " + addr.to_s end
Kasulikud lisamaterjalid
- http://www.ruby-doc.org/docs/ruby-doc-bundle/UsersGuide/rg/index.html
- http://www.elctech.com/articles/ruby-daemons-and-angels ruby ja deemonid
- http://www.phptoruby.com/ php ja ruby süntaksi teisendused