Tråd bedømmelse:
  • 1 Stemmer - 5 Gennemsnit
  • 1
  • 2
  • 3
  • 4
  • 5
Kom i gang med Ruby scripting
12-04-2015, 14:32 (Denne besked var sidst ændret: 27-05-2015, 16:52 af iTick.)
#1
Kom i gang med Ruby scripting
Formål:
Dette er ikke en guide i scripting, men en lille opslagsting, der forhåbentlig kan få andre i gang med at programmere,
derfor har jeg også undladt at kommentere koden. Det burde umiddelbart være læsligt, uden at kende sproget.
Og jeg anbefaler selvfølgelig at søge på google og andre steder, før man spøger. Man falder ofte over noget interessant,
der kan give noget tillægsviden.
Jeg er ikke ekspert i sproget, og det er lavet for at være simpelt og let at forstå, så der vil uden tvivl være ting,
der er smartere eller bedre gjort på andre måder.
Det kan bare virke demotiverende, når man er helt ny til programmering, hvis man og skal overholde kodestandarder.
Sprog ændrer sig også med tiden, og tingene skal pludselig gøres anderledes.
Det er efter min opfattelse vigtigst at få det til at virke og få lidt rutine, så kan man finpudse det bag efter.
Jeg dækker absolut heller ikke det hele, men har taget lidt forskelligt med, og det burde være nok til at komme i gang.
Huske at alle sprog har nogle små kinks og triks. Disse er heller ikke taget med. Dette er heller ikke til eksperterne. :)

Alle scriptene kan startes direkte fra en linux konsol. Nogle sprog kan også benyttes på windows, men disse virker i hvert fald på linux.
Først skal man nok lige give brugertilladelse til, at scriptet må eksekveres. Dette gøres med:
$ chmod u+x <scriptnavn>
$ ./<scriptnavn>


Et typisk Hello World eksempel:
 
#!/usr/bin/ruby

# Ruby Hello World
# Fil: helloworld.rb

puts "Hello World"


Et eksempel på en for loop:
 
#!/usr/bin/ruby

# Ruby for
# Fil: for.rb

for i in 1..10
puts i
end


Et eksempel på en while loop:
 
#!/usr/bin/ruby

# Ruby while
# Fil: while.rb

i = 1
while i < 10
puts i # Print laver ikke linieskift
i = i + 1
end

i = 1
until i > 10
puts i
i = i + 1
end

10.times do |i|
puts i
end

1.upto(10) do |i|
puts i
end

0.step(20,2) {|i| puts i}

[ 5, 4, 3, 2, 1, 0 ].each {|i| puts i}

i = 0
loop do
i += 1
next if i < 3
puts i
break if i > 4
end


Et eksempel på brugen af if/then/else:
 
#!/usr/bin/ruby

# Ruby if
# Fil: if.rb

i = 2
if i < 4 then
puts "Lav"
end

i = 4
if i < 4 then
puts "lav"
elsif i == 4 then
puts "Mellem"
else
puts "H0j"
end

i = 4
unless i != 4
puts "Ok"
end


Et eksempel på et script der får brugerinput:
 
#!/usr/bin/ruby

# Ruby input
# Fil: input.rb

a = gets.chomp
puts a


Et eksempel på et script der bliver kaldt med argumenter:
 
#!/usr/bin/ruby

# Ruby arguments
# Fil: arg.rb
# kald scriptet med ./arg.rb 1 2

puts ARGV


Et eksempel på en funktion:
 
#!/usr/bin/ruby

# Ruby funktioner
# Fil: function.rb

def enfunktion(a)
puts a
end

puts "Uden for funktionen"
enfunktion("I funktionen")


Et eksempel på et script der forbinder til en webside:
 
#!/usr/bin/ruby

# Ruby networking
# Fil: network.rb

require 'net/http'

http = Net::HTTP.new('google.dk', 80)
response = http.get('/')
puts response


Link:
www.ruby-lang.org
---
Writing a shellcode decoder stub in assembly is like talking gibberish in such a way that it is still perfectly intelligible. - iTick
Besøg denne brugers hjemmeside Find alle beskeder fra denne bruger
Citer denne besked i et svar
« Ældre | Nyere »




User(s) browsing this thread: 1 Gæst(er)