Created
November 28, 2011 10:30
-
-
Save sriki77/1399905 to your computer and use it in GitHub Desktop.
Io Day 2
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
list( list(2,3) list(3,4,5) list(6)) flatten sum |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
(2/3) println | |
(2/0) println | |
(0/0) println | |
div := Number getSlot("/") | |
Number / :=method(d, if(d==0,d,self div(d))) | |
(2/3) println | |
(2/0) println | |
(0/0) println |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/usr/bin/env io | |
fib_recur := method(n, if(n==1,return 1) if(n==2,return 1) return fib_recur(n-1)+fib_recur(n-2)) | |
fib_iter := method(n, if(n==1,return 1) if(n==2,return 1) | |
(p1 :=1)(p2 :=1)(v :=0) | |
for(i,2,n-1,v=p1+p2 | |
(p1=p2)(p2=v)) | |
return v) | |
(fib_recur(30)==fib_iter(30)) println |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
List myAverage :=method( | |
v := self detect(x, x type != "Number") | |
(v != nil) ifTrue (Exception raise("Non number: "..(v).." found.")) | |
self average | |
) | |
list(1,2,3,4) myAverage println | |
list(1,2,"a",4) myAverage println |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/usr/bin/env io | |
Matrix := List clone | |
Matrix dim := method(x,y, | |
m := Matrix clone; for(i,1,y,m append(list())) | |
m foreach(l, l appendSeq("0" repeated(x) asList)); m | |
) | |
Matrix get := method(x,y,at(y) at(x)) | |
Matrix set := method(x,y,value, at(y) atPut(x,value)) | |
Matrix pp := method(f, foreach(row, row foreach(col, f write(""..(col).." ")); f write("\n")) | |
) | |
Matrix read := method(f, | |
m := Matrix clone; f foreachLine(l, m append(l split(" ")))) | |
f := File openForReading("inpmat.txt") | |
3x4 := Matrix read(f) | |
f close | |
f := File with("matrix.txt") | |
f remove | |
f openForUpdating | |
3x4 pp(f) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/usr/bin/env io | |
Matrix := List clone | |
Matrix dim := method(x,y, | |
m := Matrix clone | |
for(i,1,y,m append(list())) | |
m foreach(l, l appendSeq("0" repeated(x) asList)) | |
m | |
) | |
Matrix get := method(x,y,at(y) at(x)) | |
Matrix set := method(x,y,value,at(y) atPut(x,value)) | |
3x4 :=Matrix dim (3,4) | |
3x4 println | |
3x4 get(2,3) println | |
3x4 set(2,3,23) | |
3x4 get(2,3) println |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/usr/bin/env io | |
num := Random clone value(1,100) round | |
in := File standardInput | |
loop( | |
"Enter Guess: " print | |
g :=in readLine asNumber | |
if(g ==num,"Guessed it right" println; break) | |
if(g>num, "Colder" println,"Hotter" println) | |
) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Matrix := List clone | |
Matrix dim := method(x,y, | |
m := Matrix clone; for(i,1,y,m append(list())) | |
m foreach(l, l appendSeq("0" repeated(x) asList)); m | |
) | |
Matrix cols := method(size) | |
Matrix rows := method(at(0) size) | |
Matrix get := method(x,y, at(y) at(x) ) | |
Matrix set := method(x,y,value, at(y) atPut(x,value)) | |
Matrix trans := method( | |
t :=Matrix dim(cols,rows) | |
for(i,0,rows-1,for(j,0,cols-1, t set(j,i,self get(i,j)))) | |
t | |
) | |
3x4 :=Matrix dim (3,4) | |
for(i,0,2,for(j,0,3, 3x4 set(i,j,i+j))) | |
3x4 println | |
3x4 trans println | |
4x4 :=Matrix dim (4,4) | |
for(i,0,3,for(j,0,3, 4x4 set(i,j,i))) | |
4x4 println | |
4x4 trans println |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment