Skip to content

Commit

Permalink
#puts and #print that works for multiple arguments too
Browse files Browse the repository at this point in the history
  • Loading branch information
vidarh committed Jul 17, 2013
1 parent 6901567 commit 4511cea
Showing 1 changed file with 25 additions and 12 deletions.
37 changes: 25 additions & 12 deletions lib/core/object.rb
Original file line number Diff line number Diff line change
Expand Up @@ -40,19 +40,32 @@ def puts *str
%s(puts "")
return
end

%s(assign raw (index str 0))
raw = raw.to_s.__get_raw
%s(if raw
(puts raw)
(puts "")
)

na = na - 2
i = 0
while i < na
%s(assign raw (index str (callm i __get_raw)))
raw = raw.to_s.__get_raw
%s(if raw (puts raw))
i = i + 1
end
end

def print str
raw = str.to_s.__get_raw
%s(if raw
(printf "%s" raw)
)
def print *str
%s(assign na (__get_fixnum numargs))

if na == 2
%s(puts "")
return
end

na = na - 2
i = 0
while i < na
%s(assign raw (index str (callm i __get_raw)))
raw = raw.to_s.__get_raw
%s(if raw (printf "%s" raw))
i = i + 1
end
end
end

0 comments on commit 4511cea

Please sign in to comment.