Skip to content

Instantly share code, notes, and snippets.

@devnoo
devnoo / ActsAsCsv.rb
Created November 15, 2011 19:49
ActsAsCsv
class ActsAsCsv
def read
file = File.new(self.class.to_s.downcase + '.txt')
@headers = file.gets.chomp.split(', ')
file.each do |row|
@result << CsvRow.new(@headers, row.chomp.split(', '))
end
end
@devnoo
devnoo / io_day_1.io
Created November 26, 2011 19:16
Seven languages in seven weeks : Solutions IO Day 1
Person := Object clone
Person name := ""
Person introduce := method(return "Hi my name is " .. name)
lucas := Person clone
lucas name = "Lucas"
lucas introduce
@devnoo
devnoo / fibonaci-loop.io
Created November 27, 2011 08:59
io-fibonaci-loop
fib := method(n ,
if ((n == 1) or (n==2), return 1)
j := 1
k := 1
for(i, 3, n,
next := j + k
j = k
@devnoo
devnoo / bonaci-recursive.io
Created November 27, 2011 09:05
fibonaci-recursive
fib := method(n,
if (n <= 2, return 1, return fib(n - 1) + fib(n - 2))
)
for (i, 1, 25, fib(i) println)
@devnoo
devnoo / division_operator.io
Created November 27, 2011 09:46
overload division operator in io
Number / := method(i, if(i==0, 0, self*i**(-1)))
1/0
1/2
4/3
@devnoo
devnoo / sum_multi_dimensional.io
Created November 27, 2011 10:07
Seven languages in seven weeks : Solutions IO Day2 sum multidimensional
List deepSum := method(
total := 0
self foreach(i, element, (if (element type == "List", total = total + element deepSum , total = total + element)))
total
)
array := list(list(1,2), list(3,4), 5)
array deepSum println
array2 := list(list(1,list(2,3)), list(3,4), 5)
@devnoo
devnoo / my_average.io
Created November 27, 2011 10:27
Seven languages in seven weeks : Solutions IO Day2 average on list
List myAverage := method(
total := 0
self foreach(i, element, (
if (element type == "Number", total = total + element, Exception raise("element is not a number"))
))
total / self size
)
array := list(3,4,5)
array myAverage println
@devnoo
devnoo / two_dimensional_list.io
Created November 27, 2011 11:07
Seven languages in seven weeks : Solutions IO Day2 two dimensional list
Matrix := Object clone
Matrix dim := method (x,y,
if (self proto == "Object", return Matrix clone dim(x, y))
self internalList := List clone;
self size_x := x;
self size_y := y;
for(i, 1, y,
internalList append(List clone setSize(x));
)
@devnoo
devnoo / guess_number.io
Created November 27, 2011 17:26
Seven languages in seven weeks : Solutions IO Day2 guess number
numberToGuess := Random value(100) round
previousGuessDistance := nil
10 repeat(
guess := File standardInput readLine("Enter a number between 1 and 100\n" ) asNumber();
if (guess == numberToGuess, (
"Gratz you won" println ;
return
)
)
@devnoo
devnoo / list.io
Created November 29, 2011 20:42
Seven languages in seven weeks :day 3 io
squareBrackets := method(
r := List clone;
call message arguments foreach(arg,
r append(arg)
)
)
languages := [
"Io",