summaryrefslogtreecommitdiff
path: root/tests/examplefiles/test.rb
diff options
context:
space:
mode:
Diffstat (limited to 'tests/examplefiles/test.rb')
-rw-r--r--tests/examplefiles/test.rb177
1 files changed, 177 insertions, 0 deletions
diff --git a/tests/examplefiles/test.rb b/tests/examplefiles/test.rb
new file mode 100644
index 00000000..8ac102e6
--- /dev/null
+++ b/tests/examplefiles/test.rb
@@ -0,0 +1,177 @@
+a.each{|el|anz[el]=anz[el]?anz[el]+1:1}
+while x<10000
+#a bis f dienen dazu die Nachbarschaft festzulegen. Man stelle sich die #Zahl von 1 bis 64 im Binärcode vor 1 bedeutet an 0 aus
+ b=(p[x]%32)/16<1 ? 0 : 1
+
+ (x-102>=0? n[x-102].to_i : 0)*a+(x-101>=0?n[x-101].to_i : 0)*e+n[x-100].to_i+(x-99>=0? n[x-99].to_i : 0)*f+(x-98>=0? n[x-98].to_i : 0)*a+
+ n[x+199].to_i*b+n[x+200].to_i*d+n[x+201].to_i*b
+
+#und die Ausgabe folgt
+g=%w{}
+x=0
+
+#leere regex
+test //, 123
+
+while x<100
+ puts"#{g[x]}"
+ x+=1
+end
+
+puts""
+sleep(10)
+
+1E1E1
+puts 30.send(:/, 5) # prints 6
+
+# fun with class attributes
+class Foo
+ def self.blub x
+ if not x.nil?
+ self.new
+ end
+ end
+ def another_way_to_get_class
+ self.class
+ end
+end
+
+# ruby 1.9 "call operator"
+a = Proc.new { 42 }
+a.()
+
+"instance variables can be #@included, #@@class_variables\n and #$globals as well."
+`instance variables can be #@included, #@@class_variables\n and #$globals as well.`
+'instance variables can be #@included, #@@class_variables\n and #$globals as well.'
+/instance variables can be #@included, #@@class_variables\n and #$globals as well./mousenix
+:"instance variables can be #@included, #@@class_variables\n and #$globals as well."
+:'instance variables can be #@included, #@@class_variables\n and #$globals as well.'
+%'instance variables can be #@included, #@@class_variables\n and #$globals as well.'
+%q'instance variables can be #@included, #@@class_variables\n and #$globals as well.'
+%Q'instance variables can be #@included, #@@class_variables\n and #$globals as well.'
+%w'instance variables can be #@included, #@@class_variables\n and #$globals as well.'
+%W'instance variables can be #@included, #@@class_variables\n and #$globals as well.'
+%s'instance variables can be #@included, #@@class_variables\n and #$globals as well.'
+%r'instance variables can be #@included, #@@class_variables\n and #$globals as well.'
+%x'instance variables can be #@included, #@@class_variables\n and #$globals as well.'
+
+#%W[ but #@0illegal_values look strange.]
+
+%s#ruby allows strange#{constructs}
+%s#ruby allows strange#$constructs
+%s#ruby allows strange#@@constructs
+
+##################################################################
+# HEREDOCS
+foo(<<-A, <<-B)
+this is the text of a
+A
+and this is the text of b
+B
+
+a = <<"EOF"
+This is a multiline #$here document
+terminated by EOF on a line by itself
+EOF
+
+a = <<'EOF'
+This is a multiline #$here document
+terminated by EOF on a line by itself
+EOF
+
+b=(p[x] %32)/16<1 ? 0 : 1
+
+<<""
+#{test}
+#@bla
+#die suppe!!!
+\xfffff
+
+
+super <<-EOE % [
+ foo
+EOE
+
+<<X
+X
+X
+
+%s(uninter\)pre\ted) # comment here
+%q(uninter\)pre\ted) # comment here
+%Q(inter\)pre\ted) # comment here
+:"inter\)pre\ted" # comment here
+:'uninter\'pre\ted' # comment here
+
+%q[haha! [nesting [rocks] ! ] ] # commeht here
+
+
+##################################################################
+class NP
+def initialize a=@p=[], b=@b=[]; end
+def +@;@b<<1;b2c end;def-@;@b<<0;b2c end
+def b2c;if @b.size==8;c=0;@b.each{|b|c<<=1;c|=b};send(
+ 'lave'.reverse,(@p.join))if c==0;@p<< c.chr;@b=[] end
+ self end end ; begin _ = NP.new end
+
+
+# Regexes
+/
+this is a
+mutliline
+regex
+/
+
+this /is a
+multiline regex too/
+
+also /4
+is one/
+
+this(/
+too
+/)
+
+# this not
+2 /4
+asfsadf/
+
+
+#from: http://coderay.rubychan.de/rays/show/383
+class Object
+ alias :xeq :`
+ def `(cmd, p2)
+ self.method(cmd.to_sym).call(p2)
+ end
+end
+p [1,2,3].`('concat', [4,5,6]) # => [1, 2, 3, 4, 5, 6]
+p [1,2,3].`(:concat, [4,5,6]) # => [1, 2, 3, 4, 5, 6]
+p "Hurra! ".`(:*, 3) # => "Hurra! Hurra! Hurra! "
+p "Hurra! ".`('*', 3) # => "Hurra! Hurra! Hurra! "
+# Leider geht nicht die Wunschform
+# [1,2,3] `concat` [4,5,6]
+
+class Object
+ @@infixops = []
+ alias :xeq :`
+ def addinfix(operator)
+ @@infixops << operator
+ end
+ def `(expression)
+ @@infixops.each{|op|break if expression.match(/^(.*?) (#{op}) (.*)$/)}
+ raise "unknown infix operator in expression: #{expression}" if $2 == nil
+ eval($1).method($2.to_sym).call(eval($3))
+ end
+end
+addinfix("concat")
+p `[1,2,3] concat [4,5,6]` # => [1, 2, 3, 4, 5, 6]
+
+
+# HEREDOC FUN!!!!!!!1111
+foo(<<A, <<-B, <<C)
+this is the text of a
+ A!!!!
+A
+and this is text of B!!!!!!111
+ B
+and here some C
+C