mirror of https://github.com/E-Almqvist/hsf
parent
f352cb6a82
commit
d9b7a43c38
@ -0,0 +1,4 @@ |
||||
# 1 |
||||
def max_of_two(num1, num2) |
||||
return num1 > num2 ? num1 : num2 |
||||
end |
@ -0,0 +1,10 @@ |
||||
# 2 |
||||
def delete_char(str, char) |
||||
newstr = "" |
||||
str.split("").each do |c| |
||||
if( c == char ) then next end |
||||
newstr += c |
||||
end |
||||
|
||||
return newstr |
||||
end |
@ -0,0 +1,21 @@ |
||||
# 3 |
||||
def distribution_calc(path) |
||||
distro_hash = Hash.new(0) |
||||
|
||||
# Ladda in allt i filen till hashen |
||||
fh = File.open(path, "r") |
||||
items = fh.readlines() |
||||
total = items.length() |
||||
|
||||
items.each do |item| |
||||
name, type = item.chomp().split(/\ #/) |
||||
distro_hash[type.to_sym()] += 1 |
||||
end |
||||
fh.close() |
||||
|
||||
# Printa ut datan |
||||
puts("Total: #{total}") |
||||
distro_hash.each do |type, amount| puts("#{type.to_s}: #{amount*100.0/total}%") end |
||||
|
||||
return nil |
||||
end |
@ -1,55 +0,0 @@ |
||||
# Repetition 2: Programmering 1 |
||||
|
||||
# 1 |
||||
def max_of_two(num1, num2) |
||||
return num1 > num2 ? num1 : num2 |
||||
end |
||||
|
||||
# 2 |
||||
def delete_char(str, char) |
||||
newstr = "" |
||||
str.split("").each do |c| |
||||
if( c == char ) then next end |
||||
newstr += c |
||||
end |
||||
|
||||
return newstr |
||||
end |
||||
|
||||
# 3 |
||||
def distribution_calc(path) |
||||
distro_hash = Hash.new(0) |
||||
|
||||
# Ladda in allt i filen till hashen |
||||
fh = File.open(path, "r") |
||||
items = fh.readlines() |
||||
total = items.length() |
||||
|
||||
items.each do |item| |
||||
name, type = item.chomp().split(/\ #/) |
||||
distro_hash[type.to_sym()] += 1 |
||||
end |
||||
fh.close() |
||||
|
||||
# Printa ut datan |
||||
puts("Total: #{total}") |
||||
distro_hash.each do |type, amount| puts("#{type.to_s}: #{amount*100.0/total}%") end |
||||
|
||||
return nil |
||||
end |
||||
|
||||
# 4 |
||||
def replace_substring(str, rep, sub, i=0, rep_len=nil) |
||||
rep_len = rep_len || rep.length |
||||
|
||||
if( i >= str.length ) then |
||||
return str |
||||
else |
||||
if( str[i...i+rep_len] == rep ) then |
||||
str[i...i+rep_len] = sub |
||||
i += rep_len - 1 |
||||
end |
||||
|
||||
return replace_substring(str, rep, sub, i+1, rep_len) |
||||
end |
||||
end |
@ -0,0 +1,14 @@ |
||||
def replace_substring(str, rep, sub, i=0, rep_len=nil) |
||||
rep_len = rep_len || rep.length # längden av det som skall ersättas |
||||
|
||||
if( i >= str.length ) then # om vi har kommit till slutet: sluta |
||||
return str |
||||
else |
||||
if( str[i...i+rep_len] == rep ) then # byt ut det som skall bytas ut (om det hittades) |
||||
str[i...i+rep_len] = sub |
||||
i += rep_len - 1 # -1 för vi tar +1 på rad 12 |
||||
end |
||||
|
||||
return replace_substring(str, rep, sub, i+1, rep_len) # rekursivt sök efter den nästa |
||||
end |
||||
end |
Loading…
Reference in new issue