aboutsummaryrefslogtreecommitdiff
path: root/ruby/reader.rb
diff options
context:
space:
mode:
authorJoel Martin <github@martintribe.org>2014-04-10 23:08:42 -0500
committerJoel Martin <github@martintribe.org>2014-04-10 23:08:42 -0500
commit46dbc0d87a8ceee9255808ee28792d625bc317fc (patch)
treef9b311e4f71391d75ef4c79e27099c24f7e19461 /ruby/reader.rb
parent7d2dad89d2af01e1ca457659b0261859633fbcd8 (diff)
downloadmal-46dbc0d87a8ceee9255808ee28792d625bc317fc.tar.gz
mal-46dbc0d87a8ceee9255808ee28792d625bc317fc.zip
Ruby: add step6_file
Diffstat (limited to 'ruby/reader.rb')
-rw-r--r--ruby/reader.rb5
1 files changed, 4 insertions, 1 deletions
diff --git a/ruby/reader.rb b/ruby/reader.rb
index 0c113e3..eddb319 100644
--- a/ruby/reader.rb
+++ b/ruby/reader.rb
@@ -17,7 +17,9 @@ end
def tokenize(str)
re = /[\s,]*(~@|[\[\]{}()'`~^@]|"(?:\\.|[^\\"])*"|;.*|[^\s\[\]{}('"`,;)]*)/
- return str.scan(re).map{|m| m[0]}.select{|m| m != ""}
+ return str.scan(re).map{|m| m[0]}.select{ |t|
+ t != "" && t[0..0] != ";"
+ }
end
def parse_str(t)
@@ -69,6 +71,7 @@ end
def read_str(str)
tokens = tokenize(str)
+ return nil if tokens.size == 0
return read_form(Reader.new(tokens))
end