fancy 0.6.0 → 0.7.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (79) hide show
  1. data/LICENSE +1 -1
  2. data/README.md +4 -1
  3. data/Rakefile +0 -52
  4. data/bin/fspec +22 -12
  5. data/bin/ifancy +1 -1
  6. data/boot/fancy_ext/class.rb +1 -0
  7. data/boot/fancy_ext/object.rb +8 -6
  8. data/boot/rbx-compiler/compiler/ast/method_def.rb +2 -0
  9. data/boot/rbx-compiler/parser/fancy_parser.bundle +0 -0
  10. data/boot/rbx-compiler/parser/parser.y +9 -0
  11. data/doc/api/fancy.jsonp +1 -1
  12. data/examples/stupid_quicksort.fy +11 -9
  13. data/lib/array.fy +26 -58
  14. data/lib/block.fy +0 -1
  15. data/lib/boot.fy +2 -2
  16. data/lib/class.fy +85 -0
  17. data/lib/compiler/ast/class_def.fy +1 -1
  18. data/lib/compiler/ast/expression_list.fy +4 -12
  19. data/lib/compiler/ast/identifier.fy +3 -3
  20. data/lib/compiler/ast/method_def.fy +3 -1
  21. data/lib/compiler/ast/singleton_method_def.fy +4 -1
  22. data/lib/contracts.fy +53 -56
  23. data/lib/dynamic_slot_object.fy +39 -3
  24. data/lib/enumerable.fy +144 -47
  25. data/lib/fancy_spec.fy +2 -6
  26. data/lib/file.fy +67 -0
  27. data/lib/future.fy +42 -3
  28. data/lib/hash.fy +35 -29
  29. data/lib/html.fy +1 -1
  30. data/lib/integer.fy +34 -0
  31. data/lib/main.fy +13 -7
  32. data/lib/message_sink.fy +1 -1
  33. data/lib/number.fy +10 -0
  34. data/lib/object.fy +27 -1
  35. data/lib/package.fy +2 -0
  36. data/lib/package/handler.fy +56 -0
  37. data/lib/package/installer.fy +21 -51
  38. data/lib/package/specification.fy +12 -5
  39. data/lib/package/uninstaller.fy +22 -3
  40. data/lib/parser/ext/parser.y +9 -0
  41. data/lib/proxy.fy +25 -2
  42. data/lib/rbx.fy +2 -1
  43. data/lib/rbx/array.fy +16 -1
  44. data/lib/rbx/class.fy +34 -9
  45. data/lib/rbx/file.fy +2 -2
  46. data/lib/rbx/fixnum.fy +1 -11
  47. data/lib/rbx/io.fy +4 -0
  48. data/lib/rbx/module.fy +11 -0
  49. data/lib/rbx/object.fy +12 -12
  50. data/lib/rbx/proc.fy +7 -0
  51. data/lib/rbx/string.fy +5 -1
  52. data/lib/rbx/symbol.fy +9 -0
  53. data/lib/string.fy +1 -1
  54. data/lib/tuple.fy +37 -35
  55. data/lib/version.fy +6 -5
  56. data/tests/array.fy +14 -2
  57. data/tests/class.fy +79 -0
  58. data/tests/dynamic_key_hash.fy +16 -0
  59. data/tests/dynamic_slot_object.fy +28 -0
  60. data/tests/dynamic_value_array.fy +12 -0
  61. data/tests/enumerable.fy +46 -0
  62. data/tests/file.fy +38 -0
  63. data/tests/fixnum.fy +22 -0
  64. data/tests/future.fy +40 -0
  65. data/tests/hash.fy +8 -7
  66. data/tests/object.fy +31 -5
  67. data/tests/set.fy +1 -1
  68. data/tests/string.fy +18 -2
  69. data/tests/tuple.fy +7 -0
  70. data/tools/fancy-mode.el +10 -0
  71. metadata +9 -12
  72. data/examples/99bottles.fy +0 -5
  73. data/examples/conditions_exceptions.fy +0 -9
  74. data/examples/conditions_parsing.fy +0 -68
  75. data/examples/dynamic.fy +0 -8
  76. data/examples/greeter.fy +0 -9
  77. data/examples/parsing.fy +0 -1
  78. data/lib/rbx/process.fy +0 -13
  79. data/lib/remote_object.fy +0 -59
data/LICENSE CHANGED
@@ -1,4 +1,4 @@
1
- Copyright (c) 2010, 2011, Christopher Bertels
1
+ Copyright (c) 2010, 2011, 2012, Christopher Bertels
2
2
  All rights reserved.
3
3
 
4
4
  Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
data/README.md CHANGED
@@ -1,9 +1,12 @@
1
1
  #The Fancy Programming Language
2
2
 
3
- (C) 2010, 2011 Christopher Bertels chris@fancy-lang.org
3
+ (C) 2010, 2011, 2012 Christopher Bertels chris@fancy-lang.org
4
4
  http://www.fancy-lang.org
5
5
 
6
+ [![Build Status](https://secure.travis-ci.org/bakkdoor/fancy.png)](http://travis-ci.org/bakkdoor/fancy)
6
7
 
8
+ Follow [@fancy_lang](https://twitter.com/#!/fancy_lang) on Twitter for
9
+ updates and development news.
7
10
 
8
11
  ----------------------------------------------------------------------
9
12
  Fancy is a dynamic, object-oriented programming language heavily
data/Rakefile CHANGED
@@ -156,11 +156,6 @@ namespace :compiler do
156
156
  mv _("boot/.wootstrap"), _("boot/compiler")
157
157
  end
158
158
 
159
- task :compile_tests do
160
- say "Compiling test files"
161
- system("bin/fancy -c tests/*.fy > /dev/null")
162
- end
163
-
164
159
  task :bootstrap => ["parser:generate", "rbx_parser:ext", file(boot_parser_e)] do
165
160
  ["compiler:rootstrap", "compiler:compile", "compiler:wootstrap"].each do |t|
166
161
  task(t).reenable
@@ -168,53 +163,6 @@ namespace :compiler do
168
163
  end
169
164
  end
170
165
 
171
- task :diff do
172
- require 'open3'
173
- sources = Dir.glob(_("lib/**/*.fy"))
174
-
175
- say "Compiling fancy using stable compiler."
176
- cmd = ['rbx', load_rb]
177
- cmd << _("lib/boot.fyc")
178
- cmd << _("lib/compiler.fyc")
179
- cmd << _("lib/compiler/command.fyc")
180
- cmd << _("boot/compiler/compiler.fyc")
181
- cmd << "--"
182
-
183
- sources.each do |file|
184
- f = file.gsub(_("lib"), _("diff/fy-compiler")).gsub(/.fy$/, ".asm")
185
- puts f
186
- mkdir_p File.dirname(f), :verbose => false
187
- Open3.popen3 *(cmd + [file, "-B"]) do |stdin, stdout, stderr|
188
- File.open(f, "w") { |bc| bc.print stdout.read }
189
- end
190
- end
191
-
192
-
193
- cmd = ['rbx']
194
- cmd << _("boot/rbx-compiler/compiler.rb")
195
-
196
- sources.each do |file|
197
- f = file.gsub(_("lib"), _("diff/rb-compiler")).gsub(/.fy$/, ".asm")
198
- puts f
199
- mkdir_p File.dirname(f), :verbose => false
200
- Open3.popen3 *(cmd + [file, "-B"]) do |stdin, stdout, stderr|
201
- File.open(f, "w") { |bc| bc.print stdout.read }
202
- end
203
- end
204
-
205
- sources.each do |file|
206
- a = file.gsub(_("lib"), _("diff/rb-compiler")).gsub(/.fy$/, ".asm")
207
- b = file.gsub(_("lib"), _("diff/fy-compiler")).gsub(/.fy$/, ".asm")
208
- f = file.gsub(_("lib"), _("diff/diffs")).gsub(/.fy$/, ".diff")
209
- mkdir_p File.dirname(f), :verbose => false
210
- puts f
211
- Open3.popen3 'diff', '-u9999', a, b do |stdin, stdout|
212
- File.open(f, "w") { |bc| bc.print stdout.read }
213
- end
214
- end
215
-
216
- end
217
-
218
166
  end
219
167
 
220
168
  desc "Deletes all .rbc and .fyc files."
data/bin/fspec CHANGED
@@ -2,21 +2,31 @@
2
2
  require: "fancy_spec"
3
3
 
4
4
  test_dir = "tests"
5
- { test_dir = ARGV[1] } if: $ ARGV[1]
6
5
 
7
- test_files = Directory list: "#{test_dir}/**/*.fy"
6
+ ARGV for_option: "-d" do: |dir| {
7
+ test_dir = dir
8
+ }
9
+
10
+ test_files = ARGV rest
8
11
  if: (test_files empty?) then: {
9
- if: (Directory exists?: test_dir) then: {
10
- "No test files found. Add them to the tests/ directory." println
11
- } else: {
12
- "No tests/ directory found. Create it!" println
12
+ test_files = Directory list: "#{test_dir}/**/*.fy"
13
+ if: (test_files empty?) then: {
14
+ if: (Directory exists?: test_dir) then: {
15
+ "No test files found. Add them to the tests/ directory." println
16
+ } else: {
17
+ "Test directory '#{test_dir}' not found. Create it!" println
18
+ }
19
+ System exit: 1
13
20
  }
21
+ }
14
22
 
23
+ start = Time now
24
+ test_files sort each: |f| {
25
+ require: f
26
+ }
27
+ Console newline
28
+ FancySpec SpecTest print_failures: start no_failures: {
29
+ System exit: 0
15
30
  } else: {
16
- start = Time now
17
- test_files each: |f| {
18
- require: f
19
- }
20
- Console newline
21
- FancySpec SpecTest print_failures: start
31
+ System exit: 1
22
32
  }
data/bin/ifancy CHANGED
@@ -3,7 +3,7 @@
3
3
  require("rb-readline/readline")
4
4
 
5
5
  ["Welcome to the (still very simple) Fancy REPL",
6
- "Fancy " ++ FANCY_VERSION] println
6
+ "Fancy #{Fancy VERSION}"] println
7
7
 
8
8
  HISTORY_FILE = File expand_path("~/.fancy_history")
9
9
  HISTORY = []
@@ -23,4 +23,5 @@ class Class
23
23
  end
24
24
  end
25
25
 
26
+ public :public, :private, :protected, :include, :extend
26
27
  end
@@ -4,15 +4,15 @@ class Object
4
4
  end
5
5
 
6
6
  define_method("ruby:with_block:") do |method, block|
7
- self.send(method, &block)
7
+ self.__send__(method, &block)
8
8
  end
9
9
 
10
10
  define_method("ruby:args:with_block:") do |method, args, block|
11
- self.send(method, *args, &block)
11
+ self.__send__(method, *args, &block)
12
12
  end
13
13
 
14
14
  define_method("ruby:args:") do |method, args|
15
- self.send(method, *args)
15
+ self.__send__(method, *args)
16
16
  end
17
17
 
18
18
  define_method(":to_s") do
@@ -41,8 +41,10 @@ class Object
41
41
  end
42
42
  end
43
43
 
44
- class BasicObject
45
- instance_methods.each do |m|
46
- undef_method(m) if m.to_s !~ /(?:^__|^nil?$|^send$|^object_id$)/
44
+ class Fancy
45
+ class BasicObject
46
+ instance_methods.each do |m|
47
+ undef_method(m) if m.to_s !~ /(?:^__|^nil?$|^send$|^object_id$)/
48
+ end
47
49
  end
48
50
  end
@@ -79,6 +79,7 @@ class Fancy
79
79
  Identifier.new(@line, "define_constructor_class_method:"),
80
80
  MessageArgs.new(@line, method_ident))
81
81
  ms.bytecode(g)
82
+ g.pop
82
83
  end
83
84
 
84
85
  def define_method_missing(g)
@@ -86,6 +87,7 @@ class Fancy
86
87
  Rubinius::AST::Self.new(@line),
87
88
  Identifier.new(@line, "define_forward_method_missing"),
88
89
  MessageArgs.new(@line)).bytecode(g)
90
+ g.pop
89
91
  end
90
92
  end
91
93
 
@@ -697,6 +697,15 @@ key_value_list: exp space ARROW space exp {
697
697
  | key_value_list COMMA space exp space ARROW space exp {
698
698
  $$ = rb_funcall(self, rb_intern("key_value_list"), 4, INT2NUM(yylineno), $4, $8, $1);
699
699
  }
700
+ | key_value_list space COMMA space {
701
+ $$ = $1;
702
+ }
703
+ | key_value_list COMMA space {
704
+ $$ = $1;
705
+ }
706
+ | key_value_list COMMA {
707
+ $$ = $1;
708
+ }
700
709
  ;
701
710
 
702
711
  match_expr: MATCH exp LCURLY space match_body space RCURLY {
@@ -1 +1 @@
1
- (function() { fancy.fdoc({title:"Fancy Documentation", methods:{"FutureSend#initialize:receiver:message:":{doc:"<p>Forward to message initialize:receiver:message:with_params:</p>\n\n<div class=\"doctags\"></div>\n\n", args:["@actor", "@receiver", "@message"]}, "Fancy Package Specification#add_dependency:":{doc:"<p>Forward to message add_dependency:version:</p>\n\n<div class=\"doctags\"></div>\n\n", args:["name"]}, "FutureSend#:value":{doc:"<p>Returns the value returned by performing <code data-lang=\"fancy\">self</code>.\nWill block the calling <code data-lang=\"fancy\" data-class-ref=\"Thread\" class=\"class-ref selectable\">Thread</code> if <code data-lang=\"fancy\">self</code> hasn't completed or failed yet.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Return value of performing <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", args:[]}, "String#:raise!":{doc:"<p>Raises a new StdError with <code data-lang=\"fancy\">self</code> as the message.</p>\n\n<div class=\"doctags\"></div>\n\n", args:[]}, "Fancy Enumerator#initialize:":{doc:"<p>Initializes a new Enumerator with a given <code data-lang=\"fancy\">collection</code>,\nusing #each: for iteration.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">collection</code> </label><div>Collection to iterate over.</div></div></div>\n\n", args:["@collection"]}, "Fancy Enumerator#initialize:with:":{doc:"<p>Initializes a new Enumerator with a given <code data-lang=\"fancy\">collection</code>\nand <code data-lang=\"fancy\">iterator</code> selector to be used for iteration.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">collection</code> </label><div>Collection to iterate over.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">iterator</code> </label><div>Selector to use to iterate over <code data-lang=\"fancy\">collection</code>.</div></div></div>\n\n", args:["@collection", "@iterator"]}, "Object#for_option:do:":{doc:"<p>Runs a given block if an option is in ARGV.</p>\n\n<div class=\"doctags\"></div>\n\n", args:["op_name", "block"]}, "Fancy Enumerator#:rewind":{doc:"<p>Resets the enumerator to start from the collection's beginning.</p>\n\n<div class=\"doctags\"></div>\n\n", args:[]}, "Fancy Enumerator#with:each:":{doc:"<p>Similar to #each: but also passing in a given <code data-lang=\"fancy\">object</code> to each invocation of <code data-lang=\"fancy\">block</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">block</code> </label><div>A <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> to be called with each element in the collection and <code data-lang=\"fancy\">object</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">object</code> </label><div>Object to pass along to <code data-lang=\"fancy\">block</code> with each element in the collection.</div></div></div>\n\n", args:["object", "block"]}, "FutureSend#:failed?":{doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">true</code> if FutureSend failed, <code data-lang=\"fancy\">false</code> otherwise.</div></div></div>\n\n", args:[]}, "FutureSend#:succeeded?":{doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">true</code> if FutureSend completed without failure, <code data-lang=\"fancy\">false</code> otherwise.</div></div></div>\n\n", args:[]}, "Fancy FDoc JSON#write:":{doc:"<p>Forward to message write:call:</p>\n\n<div class=\"doctags\"></div>\n\n", args:["filename"]}, "FutureSend#:completed?":{doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">true</code> if FutureSend completed (success or failure), <code data-lang=\"fancy\">false</code> otherwise.</div></div></div>\n\n", args:[]}, "Fancy Package Specification#add_ruby_dependency:":{doc:"<p>Forward to message add_ruby_dependency:version:</p>\n\n<div class=\"doctags\"></div>\n\n", args:["gem_name"]}, "FutureSend#when_done:":{doc:"<p>Registers <code data-lang=\"fancy\">block</code> as a continuation to be called with <code data-lang=\"fancy\">self's</code> value on success.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">block</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> to be registered as a continuation when <code data-lang=\"fancy\">self</code> succeeds.</div></div></div>\n\n", args:["block"]}, "Fancy Enumerator#each:":{doc:"<p>Calls a given <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> with each element in the collection this enumerator is attached to.\nUsed for iterating over the collection using this enumerator.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">block</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> to be called with each element in the collection (iteration).</div></div></div>\n\n", args:["block"]}, "Module#included:":{doc:"<p>Gets called when a <code data-lang=\"fancy\" data-class-ref=\"Class\" class=\"class-ref selectable\">Class</code> or <code data-lang=\"fancy\" data-class-ref=\"Module\" class=\"class-ref selectable\">Module</code> is included into another <code data-lang=\"fancy\" data-class-ref=\"Class\" class=\"class-ref selectable\">Class</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">module</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Module\" class=\"class-ref selectable\">Module</code> or <code data-lang=\"fancy\" data-class-ref=\"Class\" class=\"class-ref selectable\">Class</code> that has been included into <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", args:["module"]}, "Object#for_options:do:":{doc:"<p>Runs a given block if any of the given options is in ARGV.</p>\n\n<div class=\"doctags\"></div>\n\n", args:["op_names", "block"]}, "Fancy Enumerator#:next":{doc:"<p>Returns the next element in the collection this enumerator is attached to.\nIt will move the internal position forward (compared to e.g. #peek, which doesn't).</p>\n\n<p>Example:</p>\n\n<pre><code> a = [1,2,3]\n e = a to_enum\n e next # =&gt; 1\n e next # =&gt; 2\n e next # =&gt; 3\n e next # =&gt; raises Fancy StopIteration\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Next element in the collection this enumerator is attached to.</div></div></div>\n\n", args:[]}, "Fancy Enumerator#:ended?":{doc:"<p>Indicates if an enumerator has ended (no more values left).</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">true</code> if the enumerator has ended (no more values left), <code data-lang=\"fancy\">false</code> otherwise.</div></div></div>\n\n", args:[]}, "FutureSend#:failure":{doc:"<p>Returns the <code data-lang=\"fancy\" data-class-ref=\"Exception\" class=\"class-ref selectable\">Exception</code> that caused <code data-lang=\"fancy\">self</code> to fail, or <code data-lang=\"fancy\">nil</code>, if it didn't fail.\nWill block the calling <code data-lang=\"fancy\" data-class-ref=\"Thread\" class=\"class-ref selectable\">Thread</code> if <code data-lang=\"fancy\">self</code> hasn't completed or failed yet.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Exception\" class=\"class-ref selectable\">Exception</code> that caused the FutureSend to fail, or <code data-lang=\"fancy\">nil</code>, if no failure.</div></div></div>\n\n", args:[]}, "ThreadPool#execute_synchronous:":{doc:"<p>Forward to message execute_synchronous:with_args:</p>\n\n<div class=\"doctags\"></div>\n\n", args:["block"]}, "ThreadPool#execute:":{doc:"<p>Forward to message execute:with_args:</p>\n\n<div class=\"doctags\"></div>\n\n", args:["block"]}, "Module#:[]":{doc:"<p>Returns the value of the constant with the given name in <code data-lang=\"fancy\">self</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">constant_name's</code> value.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">constant_name</code> </label><div>Name (<code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code>) of constant's name.</div></div></div>\n\n", args:["constant_name"]}, "DynamicKeyHash#:initialize":{doc:"<p>Forward to message initialize:</p>\n\n<div class=\"doctags\"></div>\n\n", args:[]}, "ThreadPool#initialize:":{doc:"<p>Forward to message initialize:limit:</p>\n\n<div class=\"doctags\"></div>\n\n", args:["@count"]}, "Fancy Enumerator#:peek":{doc:"<p>Returns the next object in the Enumerator, but doesn't move the\ninternal position forward.\nWhen the position reaches the end, a Fancy StopIteration exception is\nraised.</p>\n\n<p>Example:</p>\n\n<pre><code> a = [1,2,3]\n e = a to_enum\n e next p #=&gt; 1\n e peek p #=&gt; 2\n e peek p #=&gt; 2\n e peek p #=&gt; 2\n e next p #=&gt; 2\n e next p #=&gt; 3\n e next p #=&gt; raises Fancy StopIteration\n</code></pre>\n\n<div class=\"doctags\"></div>\n\n", args:[]}}, date:"Wed Jan 25 10:57:30 +0100 2012", objects:{}, classes:{"File":{methods:{"delete:":{doc:"<p>Deletes a <code data-lang=\"fancy\" data-class-ref=\"File\" class=\"class-ref selectable\">File</code> with a given <code data-lang=\"fancy\">filename</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">filename</code> </label><div>Path to <code data-lang=\"fancy\" data-class-ref=\"File\" class=\"class-ref selectable\">File</code> to be deleted.</div></div></div>\n\n", arg:["filename"], lines:[127, 127], file:"lib/rbx/file.fy"}, "read:length:offset:":{doc:"<p>Reads all the contens (in ASCII mode) of a given file, length and offset\nand returns them as an Array of lines being read.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">length</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Fixnum\" class=\"class-ref selectable\">Fixnum</code> being the maximum length to read from the File.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">filename</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code> containing the path of the File to be read.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">offset</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Fixnum\" class=\"class-ref selectable\">Fixnum</code> being the offset in bytes to start reading from the File.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Contents of the File as a <code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code>.</div></div></div>\n\n", arg:["filename", "length", "offset"], lines:[75, 75], file:"lib/rbx/file.fy"}, "read:with:":{doc:"<p>Opens a <code data-lang=\"fancy\" data-class-ref=\"File\" class=\"class-ref selectable\">File</code> for reading and calls <code data-lang=\"fancy\">block</code> with it.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">block</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> called with a <code data-lang=\"fancy\" data-class-ref=\"File\" class=\"class-ref selectable\">File</code> object to read from.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">filename</code> </label><div>Filename of <code data-lang=\"fancy\" data-class-ref=\"File\" class=\"class-ref selectable\">File</code> to read from.</div></div></div>\n\n", arg:["filename", "block"], lines:[26, 26], file:"lib/file.fy"}, "open:modes:with:":{doc:"<p>Opens a File with a given <code data-lang=\"fancy\">filename</code>, a <code data-lang=\"fancy\">modes_arr</code> (<code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code>) and a <code data-lang=\"fancy\">block</code>.</p>\n\n<p>E.g. to open a File with read access and read all lines and print them to STDOUT:</p>\n\n<p> File open: \"foo.txt\" modes: ['read] with: |f| {</p>\n\n<pre><code> { f eof? } while_false: {\n f readln println\n }\n</code></pre>\n\n<p> }</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">block</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> that gets called with the <code data-lang=\"fancy\" data-class-ref=\"File\" class=\"class-ref selectable\">File</code> object that has been opened.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">filename</code> </label><div>Filename to open/create.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">modes_arr</code> </label><div>Array of symbols that describe the desired operations to perform.</div></div></div>\n\n", arg:["filename", "modes_arr", "block"], lines:[33, 33], file:"lib/rbx/file.fy"}, "touch:":{doc:"<p>Creates a new empty file with the given <code data-lang=\"fancy\">filename</code>, if it doesn't already exist.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">filename</code> </label><div>Name of <code data-lang=\"fancy\" data-class-ref=\"File\" class=\"class-ref selectable\">File</code> to be created, if not already existant.</div></div></div>\n\n", arg:["filename"], lines:[36, 36], file:"lib/file.fy"}, "rename:to:":{doc:"<p>Renames a <code data-lang=\"fancy\" data-class-ref=\"File\" class=\"class-ref selectable\">File</code> on the filesystem.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">old_name</code> </label><div>Path to <code data-lang=\"fancy\" data-class-ref=\"File\" class=\"class-ref selectable\">File</code> to rename.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">new_name</code> </label><div>Path to new filename.</div></div></div>\n\n", arg:["old_name", "new_name"], lines:[148, 148], file:"lib/rbx/file.fy"}, "exists?:":{doc:"<p>Indicates if the <code data-lang=\"fancy\" data-class-ref=\"File\" class=\"class-ref selectable\">File</code> with the given <code data-lang=\"fancy\">filename</code> exists.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">filename</code> </label><div>Path to file to check for existance.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">true</code> if <code data-lang=\"fancy\" data-class-ref=\"File\" class=\"class-ref selectable\">File</code> exists, <code data-lang=\"fancy\">false</code> otherwise.</div></div></div>\n\n", arg:["filename"], lines:[49, 49], file:"lib/rbx/file.fy"}, "read:length:":{doc:"<p>Forward to message read:length:offset:</p>\n\n<div class=\"doctags\"></div>\n\n", arg:["filename", "length"], lines:[64, 64], file:"lib/rbx/file.fy"}, "modes_str:":{doc:"<p>Returns the appropriate <code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code> representation of the <code data-lang=\"fancy\">modes_arr</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code> that represents the <code data-lang=\"fancy\" data-class-ref=\"File\" class=\"class-ref selectable\">File</code> access modifiers, as used by Ruby.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">modes_arr</code> </label><div>Array of symbols that describe the desired operations to perform.</div></div></div>\n\n", arg:["modes_arr"], lines:[108, 108], file:"lib/rbx/file.fy"}, "directory?:":{doc:"<p>Indicates, if a given <code data-lang=\"fancy\">path</code> refers to a <code data-lang=\"fancy\" data-class-ref=\"Directory\" class=\"class-ref selectable\">Directory</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">path</code> </label><div>Path to check if it's a <code data-lang=\"fancy\" data-class-ref=\"Directory\" class=\"class-ref selectable\">Directory</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">true</code>, if the <code data-lang=\"fancy\">path</code> refers to a <code data-lang=\"fancy\" data-class-ref=\"Directory\" class=\"class-ref selectable\">Directory</code>, <code data-lang=\"fancy\">false</code> otherwise.</div></div></div>\n\n", arg:["path"], lines:[138, 138], file:"lib/rbx/file.fy"}, "write:with:":{doc:"<p>Opens a <code data-lang=\"fancy\" data-class-ref=\"File\" class=\"class-ref selectable\">File</code> for writing and calls <code data-lang=\"fancy\">block</code> with it.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">block</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> called with a <code data-lang=\"fancy\" data-class-ref=\"File\" class=\"class-ref selectable\">File</code> object to write to.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">filename</code> </label><div>Filename of <code data-lang=\"fancy\" data-class-ref=\"File\" class=\"class-ref selectable\">File</code> to write to.</div></div></div>\n\n", arg:["filename", "block"], lines:[15, 15], file:"lib/file.fy"}, "open:modes:":{doc:"<p>Similar to open:modes:with: but takes no <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> argument to be\ncalled with the <code data-lang=\"fancy\" data-class-ref=\"File\" class=\"class-ref selectable\">File</code> instance.\nReturns the opened <code data-lang=\"fancy\" data-class-ref=\"File\" class=\"class-ref selectable\">File</code> instead and expects the caller to <code data-lang=\"fancy\">close</code> it manually.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">filename</code> </label><div>Filename to open/create.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>A <code data-lang=\"fancy\" data-class-ref=\"File\" class=\"class-ref selectable\">File</code> instance that represents the opened <code data-lang=\"fancy\" data-class-ref=\"File\" class=\"class-ref selectable\">File</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">modes_arr</code> </label><div>Array of symbols that describe the desired operations to perform.</div></div></div>\n\n", arg:["filename", "modes_arr"], lines:[90, 90], file:"lib/rbx/file.fy"}, "read:":{doc:"<p>Reads all the contens (in ASCII mode) of a given file and returns\nthem as an Array of lines being read.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">filename</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code> containing the path of the File to be read.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Contents of the File as a <code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code>.</div></div></div>\n\n", arg:["filename"], lines:[61, 61], file:"lib/rbx/file.fy"}}, ancestors:["File", "Enumerable", "IO", "IOMixin", "Object", "Unmarshalable", "File Constants", "Enumerable", "Object", "Kernel"], doc:"<p>Instances of File represent files in the filesystem of the operating\nsystem on which Fancy is running.</p>\n\n<div class=\"doctags\"></div>\n\n", instance_methods:{":newline":{doc:"<p>Writes a newline character to the <code data-lang=\"fancy\" data-class-ref=\"File\" class=\"class-ref selectable\">File</code>.</p>\n\n<div class=\"doctags\"></div>\n\n", arg:[], lines:[219, 219], file:"lib/rbx/file.fy"}, "write:":{doc:"<p>Writes a given <code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code> to a <code data-lang=\"fancy\" data-class-ref=\"File\" class=\"class-ref selectable\">File</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">str</code> </label><div>String to be written to a <code data-lang=\"fancy\" data-class-ref=\"File\" class=\"class-ref selectable\">File</code>.</div></div></div>\n\n", arg:["str"], lines:[205, 205], file:"lib/rbx/file.fy"}, "writeln:":{doc:"<p>Writes a given argument as a String followed by a newline into the\nFile.</p>\n\n<div class=\"doctags\"></div>\n\n", arg:["x"], lines:[49, 49], file:"lib/file.fy"}, "println:":{doc:"<p>Writes a given argument as a String followed by a newline into the\nFile.</p>\n\n<div class=\"doctags\"></div>\n\n", arg:["x"], lines:[49, 49], file:"lib/file.fy"}, "print:":{doc:"<p>Writes a given <code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code> to a <code data-lang=\"fancy\" data-class-ref=\"File\" class=\"class-ref selectable\">File</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">str</code> </label><div>String to be written to a <code data-lang=\"fancy\" data-class-ref=\"File\" class=\"class-ref selectable\">File</code>.</div></div></div>\n\n", arg:["str"], lines:[205, 205], file:"lib/rbx/file.fy"}, ":modes":{doc:"<p>Returns the <code data-lang=\"fancy\" data-class-ref=\"File\" class=\"class-ref selectable\">File</code> access modes <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"File\" class=\"class-ref selectable\">File</code> access modes <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code>.</div></div></div>\n\n", arg:[], lines:[174, 174], file:"lib/rbx/file.fy"}, "modes:":{doc:"<p>Sets the <code data-lang=\"fancy\" data-class-ref=\"File\" class=\"class-ref selectable\">File</code> access modes <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">modes_arr</code> </label><div>New <code data-lang=\"fancy\" data-class-ref=\"File\" class=\"class-ref selectable\">File</code> access modes <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code>.</div></div></div>\n\n", arg:["modes_arr"], lines:[184, 184], file:"lib/rbx/file.fy"}, ":open?":{doc:"<p>Indicates, if a <code data-lang=\"fancy\" data-class-ref=\"File\" class=\"class-ref selectable\">File</code> is opened.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">true</code>, if <code data-lang=\"fancy\" data-class-ref=\"File\" class=\"class-ref selectable\">File</code> opened, <code data-lang=\"fancy\">false</code> otherwise.</div></div></div>\n\n", arg:[], lines:[194, 194], file:"lib/rbx/file.fy"}, ":close":{doc:"<p>Closes an opened <code data-lang=\"fancy\" data-class-ref=\"File\" class=\"class-ref selectable\">File</code>.</p>\n\n<div class=\"doctags\"></div>\n\n", arg:[], lines:[165, 165], file:"lib/rbx/file.fy"}, ":expanded_path":{doc:"<p>Example:</p>\n\n<pre><code> f = File open: \"README.txt\"\n f expanded_path # =&gt; \"/path/to/README.txt\" (when run from /path/to/)\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Expanded (absolute) path of <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", arg:[], lines:[64, 64], file:"lib/file.fy"}, ":directory?":{doc:"<p>Indicates, if a <code data-lang=\"fancy\" data-class-ref=\"File\" class=\"class-ref selectable\">File</code> is a <code data-lang=\"fancy\" data-class-ref=\"Directory\" class=\"class-ref selectable\">Directory</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">true</code>, if <code data-lang=\"fancy\" data-class-ref=\"File\" class=\"class-ref selectable\">File</code> is a <code data-lang=\"fancy\" data-class-ref=\"Directory\" class=\"class-ref selectable\">Directory</code>, <code data-lang=\"fancy\">false</code> otherwise.</div></div></div>\n\n", arg:[], lines:[228, 228], file:"lib/rbx/file.fy"}, "read:":{doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">bytes</code> </label><div>Integer the amount of bytes to read from a <code data-lang=\"fancy\" data-class-ref=\"File\" class=\"class-ref selectable\">File</code>.</div></div></div>\n\n", arg:["bytes"], lines:[213, 213], file:"lib/rbx/file.fy"}}}, "Set":{methods:{":[]":{doc:"<p>Initialize a new Set with a given collection of values.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">values</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Fancy\" class=\"class-ref selectable\">Fancy</code> <code data-lang=\"fancy\" data-class-ref=\"Fancy Enumerable\" class=\"class-ref selectable\">Enumerable</code> of values used for new Set.</div></div></div>\n\n", arg:["values"], lines:[78, 78], file:"lib/set.fy"}}, ancestors:["Set", "Fancy Enumerable", "Object", "Object", "Kernel"], doc:"<p>A simple Set data structure class.</p>\n\n<div class=\"doctags\"></div>\n\n", instance_methods:{"initialize:":{doc:"<p>Initialize a new Set with a given collection of values.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">values</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Fancy\" class=\"class-ref selectable\">Fancy</code> <code data-lang=\"fancy\" data-class-ref=\"Fancy Enumerable\" class=\"class-ref selectable\">Enumerable</code> of values to be used as values for <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", arg:["values"], lines:[15, 15], file:"lib/set.fy"}, ":-":{doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">other</code> </label><div>Other Set to use for creating difference Set.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Difference Set by removing all values from <code data-lang=\"fancy\">self</code> that are in <code data-lang=\"fancy\">other</code>.</div></div></div>\n\n", arg:["other"], lines:[168, 168], file:"lib/set.fy"}, ":initialize":{doc:"<p>Initialize a new empty Set.</p>\n\n<div class=\"doctags\"></div>\n\n", arg:[], lines:[26, 26], file:"lib/set.fy"}, ":size":{doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Amount of values in <code data-lang=\"fancy\">self</code> as a <code data-lang=\"fancy\" data-class-ref=\"Fixnum\" class=\"class-ref selectable\">Fixnum</code>.</div></div></div>\n\n", arg:[], lines:[42, 42], file:"lib/set.fy"}, "remove:":{doc:"<p>Removes a given object from a Set, if available.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">obj</code> </label><div>Object to be removed from <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", arg:["obj"], lines:[150, 150], file:"lib/set.fy"}, ":inspect":{doc:"<p>Returns a detailed <code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code> representation of a Set.</p>\n\n<div class=\"doctags\"></div>\n\n", arg:[], lines:[140, 140], file:"lib/set.fy"}, ":[]":{doc:"<p>Indicates, if the Set includes <code data-lang=\"fancy\">value</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">value</code> </label><div>Value to be checked for if included in <code data-lang=\"fancy\">self</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">true</code> if <code data-lang=\"fancy\">value</code> is in <code data-lang=\"fancy\">self</code>, <code data-lang=\"fancy\">nil</code> otherwise.</div></div></div>\n\n", arg:["value"], lines:[112, 112], file:"lib/set.fy"}, ":<<":{doc:"<p>Insert a value into the Set.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">value</code> </label><div>Value to be inserted into <code data-lang=\"fancy\">self</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", arg:["value"], lines:[89, 89], file:"lib/set.fy"}, ":values":{doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Values in self as an <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code>.</div></div></div>\n\n", arg:[], lines:[34, 34], file:"lib/set.fy"}, ":&":{doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">other</code> </label><div>Other Set to use for creating Set.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Intersection Set containing only values that are in both <code data-lang=\"fancy\">self</code> and <code data-lang=\"fancy\">other</code>.</div></div></div>\n\n", arg:["other"], lines:[181, 181], file:"lib/set.fy"}, ":+":{doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">other</code> </label><div>Other Set to use for creating union Set.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Union Set containing all values in both <code data-lang=\"fancy\">self</code> and <code data-lang=\"fancy\">other</code>.</div></div></div>\n\n", arg:["other"], lines:[159, 159], file:"lib/set.fy"}, ":==":{doc:"<p>Indicates, if two Sets are equal.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">other</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Set\" class=\"class-ref selectable\">Set</code> to compare <code data-lang=\"fancy\">self</code> against.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">true</code>, if self is equal to <code data-lang=\"fancy\">other</code>, <code data-lang=\"fancy\">false</code> otherwise.</div></div></div>\n\n", arg:["other"], lines:[68, 68], file:"lib/set.fy"}, "each:":{doc:"<p>Calls a given Block for each element of the Set.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">block</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> to be called with each value in <code data-lang=\"fancy\">self</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", arg:["block"], lines:[123, 123], file:"lib/set.fy"}, ":empty?":{doc:"<p>Indicates, if a Set is empty.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">true</code>, if Set is emty, <code data-lang=\"fancy\">false</code> otherwise.</div></div></div>\n\n", arg:[], lines:[52, 52], file:"lib/set.fy"}, "includes?:":{doc:"<p>Indicates, if the Set includes <code data-lang=\"fancy\">value</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">value</code> </label><div>Value to be checked for if included in <code data-lang=\"fancy\">self</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">true</code> if <code data-lang=\"fancy\">value</code> in <code data-lang=\"fancy\">self</code>, <code data-lang=\"fancy\">false</code> otherwise.</div></div></div>\n\n", arg:["value"], lines:[101, 101], file:"lib/set.fy"}, ":to_s":{doc:"<p>Returns a <code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code> representation of a Set.</p>\n\n<div class=\"doctags\"></div>\n\n", arg:[], lines:[132, 132], file:"lib/set.fy"}}}, "Fancy Package":{methods:{":add_to_loadpath":{doc:"<p>Adds the Fancy Package install dir to the loadpath so you can\neasily <code data-lang=\"fancy\">require:</code> packages into your code.</p>\n\n<div class=\"doctags\"></div>\n\n", arg:[], lines:[99, 99], file:"lib/package.fy"}, ":install_dependencies":{doc:"<p>Installs dependencies found in .fancypack file in the current directory.\nIf no .fancypack file is found, fails and quits.</p>\n\n<div class=\"doctags\"></div>\n\n", arg:[], lines:[52, 52], file:"lib/package.fy"}, "uninstall:":{doc:"<p>Uninstalls a package with a given name (if installed).</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">package_name</code> </label><div>Name of package to uninstall.</div></div></div>\n\n", arg:["package_name"], lines:[62, 62], file:"lib/package.fy"}, ":list_packages":{doc:"<p>Lists (prints) all installed packages on this system.</p>\n\n<div class=\"doctags\"></div>\n\n", arg:[], lines:[70, 70], file:"lib/package.fy"}, "install:version:":{doc:"<p>Installs a package with a given name.\nExpects package_name to be a string in the form of:\n user/repo\nWhich would get the package code from github.com/user/repo</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">package_name</code> </label><div>Name of package to install.</div></div></div>\n\n", arg:["package_name", "version"], lines:[43, 43], file:"lib/package.fy"}, ":package_list_file":{doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Path to installed_packages.txt <code data-lang=\"fancy\" data-class-ref=\"File\" class=\"class-ref selectable\">File</code> on system.</div></div></div>\n\n", arg:[], lines:[90, 90], file:"lib/package.fy"}, ":root_dir":{doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Fancy Package root install dir.</div></div></div>\n\n", arg:[], lines:[83, 83], file:"lib/package.fy"}, "install:":{doc:"<p>Forward to message install:version:</p>\n\n<div class=\"doctags\"></div>\n\n", arg:["package_name"], lines:[33, 33], file:"lib/package.fy"}}, ancestors:["Fancy Package", "Object", "Kernel"], doc:"<p>The Fancy Package System.</p>\n\n<p>This class is used for installing and uninstalling fancy packages on\nthe system.</p>\n\n<p>Example:</p>\n\n<pre><code> $ fancy install bakkdoor/mongo.fy\n</code></pre>\n\n<p>Will install the mongo.fy package from http://github.com/bakkdoor/mongo.fy\nin the latest released version or get the current HEAD (master\nbranch) revision.</p>\n\n<p>You can then load the package in your source file via</p>\n\n<pre><code> require: \"mongo.fy\"\n</code></pre>\n\n<div class=\"doctags\"></div>\n\n", instance_methods:{}}, "Struct":{methods:{"new:":{doc:"<p>Creates a new Struct class with the given slots.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">slots</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> of slotnames the new Struct should contain.</div></div></div>\n\n", arg:["slots"], lines:[14, 14], file:"lib/struct.fy"}}, ancestors:["Struct", "Enumerable", "Object", "Kernel"], doc:"<p>Structs are light-weight classes with predefined read-writable slots.</p>\n\n<div class=\"doctags\"></div>\n\n", instance_methods:{}}, "RespondsToProxy":{methods:{}, ancestors:["RespondsToProxy", "BasicObject", "Object", "Kernel"], doc:"<p>A RespondsToProxy is a Proxy that forwards any message sent to it to it's <code data-lang=\"fancy\">target</code> instance variable\nonly if it responds to that message. Any messages that <code data-lang=\"fancy\">target</code> doesn't respond to simply won't be sent\nand <code data-lang=\"fancy\">nil</code> will be returned.</p>\n\n<div class=\"doctags\"></div>\n\n", instance_methods:{"initialize:":{doc:"<p>Initializes a new RespondsToProxy for <code data-lang=\"fancy\">target</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">target</code> </label><div>Target receiver object.</div></div></div>\n\n", arg:["@target"], lines:[48, 48], file:"lib/proxy.fy"}, "unknown_message:with_params:":{doc:"<p>Forwards all incoming message to <code data-lang=\"fancy\">self</code> to <code data-lang=\"fancy\">@target</code>\nonly if <code data-lang=\"fancy\">@target</code> responds to them.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">msg</code> </label><div>Incoming message name.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">params</code> </label><div>Paremeters of incoming message send.</div></div></div>\n\n", arg:["msg", "params"], lines:[62, 62], file:"lib/proxy.fy"}}}, "Array":{methods:{"new:":{doc:"<p>Creates a new Array with a given <code data-lang=\"fancy\">size</code> (default value is <code data-lang=\"fancy\">nil</code>).</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">size</code> </label><div>Initial size of the <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> to be created (values default to <code data-lang=\"fancy\">nil</code>).</div></div></div>\n\n", arg:["size"], lines:[17, 17], file:"lib/array.fy"}, ":===":{doc:"<p>Matches an <code data-lang=\"fancy\">Array</code> against another object.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">object</code> </label><div>Object to match <code data-lang=\"fancy\">self</code> against.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">nil</code>, if no match, matched values (in an <code data-lang=\"fancy\">Array</code>) otherwise.</div></div></div>\n\n", arg:["object"], lines:[470, 470], file:"lib/array.fy"}, "new:with:":{doc:"<p>Creates a new Array with a given size and default-value.\nIf <code data-lang=\"fancy\">default</code> is a <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code>, call that block for each element instead.</p>\n\n<div class=\"doctags\"></div>\n\n", arg:["size", "default"], lines:[12, 12], file:"lib/rbx/array.fy"}}, ancestors:["Array", "Fancy Enumerable", "Object", "Enumerable", "Object", "Kernel"], doc:"<p>Array class.\nArrays are dynamically resizable containers with a constant-time\nindex-based access to members.</p>\n\n<div class=\"doctags\"></div>\n\n", instance_methods:{":join":{doc:"<p>Joins all elements with the empty <code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code>.</p>\n\n<pre><code> [\"hello\", \"world\", \"!\"] join # =&gt; \"hello,world!\"\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Elements of <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> joined to a <code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code>.</div></div></div>\n\n", arg:[], lines:[249, 249], file:"lib/array.fy"}, "remove_if:":{doc:"<p>Like <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> <code data-lang=\"fancy\" data-singleton-method-ref=\"remove:\" data-owner-class=\"Array\" class=\"singleton-method-ref selectable\">remove:</code>, but taking a condition <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code>.\nRemoves all elements that meet the given condition <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">self</code>, with all elements removed for which <code data-lang=\"fancy\">condition</code> yields true.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">condition</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> (or <code data-lang=\"fancy\">Callable</code>) that indicates, if an element should be removed from <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", arg:["condition"], lines:[305, 305], file:"lib/array.fy"}, "index:":{doc:"<p>Returns the index of an item (or nil, if it isn't in the <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code>).</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">item</code> </label><div>Item/Value for which the index is requested within an <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Index of the value passed in within the <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code>, or <code data-lang=\"fancy\">nil</code>, if value not present.</div></div></div>\n\n", arg:["item"], lines:[88, 88], file:"lib/rbx/array.fy"}, ":second":{doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>The second element in the <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code>.</div></div></div>\n\n", arg:[], lines:[101, 101], file:"lib/array.fy"}, "select_with_index:":{doc:"<p>Same as #select:, just gets also called with an additional argument\nfor each element's index value.</p>\n\n<div class=\"doctags\"></div>\n\n", arg:["block"], lines:[434, 434], file:"lib/array.fy"}, ":first":{doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>The first element in the <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code>.</div></div></div>\n\n", arg:[], lines:[94, 94], file:"lib/array.fy"}, "unshift:":{doc:"<p>Inserts a value at the front of <code data-lang=\"fancy\">self</code>.</p>\n\n<p>Example:</p>\n\n<pre><code> a = [1,2,3]\n a unshift: 10\n a # =&gt; [10,1,2,3]\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">value</code> </label><div>Value to be added at the front of <code data-lang=\"fancy\">self</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", arg:["value"], lines:[126, 126], file:"lib/rbx/array.fy"}, ":to_a":{doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", arg:[], lines:[351, 351], file:"lib/array.fy"}, "reverse_each:":{doc:"<p>Example:</p>\n\n<pre><code> [1,2,3] reverse_each: @{print}\n # prints: 321\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">block</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> to be called for each element (in reverse order).</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", arg:["block"], lines:[157, 157], file:"lib/array.fy"}, "prepend:":{doc:"<p>Prepends another <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> to this one.</p>\n\n<p>Example:</p>\n\n<pre><code> a = [1,2,3]\n a prepend: [4,5,6]\n a # =&gt; [4,5,6,1,2,3]\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">arr</code> </label><div>Other <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> to be prepended to <code data-lang=\"fancy\">self</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">self</div></div></div>\n\n\n<p></code></p>\n", arg:["arr"], lines:[66, 66], file:"lib/array.fy"}, ":compact!":{doc:"<p>Removes all nil-value elements in place.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">self</div></div></div>\n\n\n<p></code></p>\n", arg:[], lines:[280, 280], file:"lib/array.fy"}, "indices_of:":{doc:"<p>Returns an Array of all indices of this item. Empty Array if item does not occur.</p>\n\n<pre><code> [1, 'foo, 2, 'foo] indices_of: 'foo # =&gt; [1, 3]\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">item</code> </label><div>Item/Value for which a list of indices is requested within an <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> of all indices for a given value within an <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> (possibly empty).</div></div></div>\n\n", arg:["item"], lines:[398, 398], file:"lib/array.fy"}, "at:":{doc:"<p>Returns the element in the <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> at a given index.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">idx</code> </label><div>Index for value to retrieve.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Value with the given index (if available), or <code data-lang=\"fancy\">nil</code>.</div></div></div>\n\n", arg:["idx"], lines:[62, 62], file:"lib/rbx/array.fy"}, "each:":{doc:"<p>Calls a given <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> with each element in the <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">block</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> to be called for each element in <code data-lang=\"fancy\">self</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">self</div></div></div>\n\n\n<p></code></p>\n", arg:["block"], lines:[145, 145], file:"lib/array.fy"}, "join:":{doc:"<p>Joins all elements in the Array with a given <code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code>.\n [1,2,3] join: \", \\\342\200\235 # => \\\342\200\2351, 2, 3\"</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">join_str</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code> by which to <code data-lang=\"fancy\">join</code> all elements in <code data-lang=\"fancy\">self</code> into a new <code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Joined <code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code> with all elements with <code data-lang=\"fancy\">join_str</code>.</div></div></div>\n\n", arg:["join_str"], lines:[110, 110], file:"lib/rbx/array.fy"}, "remove_at:":{doc:"<p>Removes an element at a given index.\nIf given an Array of indices, removes all the elements with these indices.\nReturns the deleted object if an index was given, the last deleted object for an Array given.</p>\n\n<div class=\"doctags\"></div>\n\n", arg:["index"], lines:[50, 50], file:"lib/rbx/array.fy"}, "select!:":{doc:"<p>Removes all elements in place, that don't meet the condition.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">self</code>, but changed with all elements removed that don't yield <code data-lang=\"fancy\">true</code> for <code data-lang=\"fancy\">condition</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">condition</code> </label><div>A condition <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> (or something <code data-lang=\"fancy\">Callable</code>) for selecting items from <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", arg:["condition"], lines:[260, 260], file:"lib/array.fy"}, "values_at:":{doc:"<p>Returns new <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> with elements at given indices.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">idx_arr</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> of indices.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> of all the items with the given indices in <code data-lang=\"fancy\">idx_arr</code>.</div></div></div>\n\n", arg:["idx_arr"], lines:[221, 221], file:"lib/array.fy"}, ":indices":{doc:"<p>Returns an <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> of all the indices of an <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code>.</p>\n\n<pre><code> [1,2,3] indices # =&gt; [0,1,2]\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> of all indices of <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", arg:[], lines:[386, 386], file:"lib/array.fy"}, "at:put:":{doc:"<p>Inserts a given object at a given index (position) in the Array.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">idx</code> </label><div>Index to set a value for.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">obj</code> </label><div>Value (object) to be set at the given index.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">obj</div></div></div>\n\n\n<p></code></p>\n", arg:["idx", "obj"], lines:[76, 76], file:"lib/rbx/array.fy"}, ":rest":{doc:"<p>Returns all elements except the first one as a new <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>All elements in an <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> after the first one.</div></div></div>\n\n", arg:[], lines:[124, 124], file:"lib/array.fy"}, ":println":{doc:"<p>Prints each element on a seperate line.</p>\n\n<div class=\"doctags\"></div>\n\n", arg:[], lines:[315, 315], file:"lib/array.fy"}, "append:":{doc:"<p>Appends another <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> onto this one.</p>\n\n<p>Example:</p>\n\n<pre><code> a = [1,2,3]\n a append: [3,4,5]\n a # =&gt; [1,2,3,3,4,5]\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">arr</code> </label><div>Other <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> to be appended to <code data-lang=\"fancy\">self</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">self</div></div></div>\n\n\n<p></code></p>\n", arg:["arr"], lines:[47, 47], file:"lib/array.fy"}, "from:to:":{doc:"<p>Returns sub-array starting at from: and going to to:</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">from</code> </label><div>Start index for sub-array.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">to</code> </label><div>End index ofr sub-array.</div></div></div>\n\n", arg:["from", "to"], lines:[418, 418], file:"lib/array.fy"}, "find:":{doc:"<p>Returns the item, if it's in the Array or nil (if not found).</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">item</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Object\" class=\"class-ref selectable\">Object</code> / Element to find in the <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">item</code> if, it's found in the <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code>, otherwise <code data-lang=\"fancy\">nil</code>.</div></div></div>\n\n", arg:["item"], lines:[195, 195], file:"lib/array.fy"}, "find_by:":{doc:"<p>Like find: but takes a block that gets called with each element to find it.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">block</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> to be called for each element in the <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>The first element, for which <code data-lang=\"fancy\">block</code> yields <code data-lang=\"fancy\">true</code>.</div></div></div>\n\n", arg:["block"], lines:[210, 210], file:"lib/array.fy"}, ":to_hash":{doc:"<p>Returns a <code data-lang=\"fancy\" data-class-ref=\"Hash\" class=\"class-ref selectable\">Hash</code> with each key-value pair in <code data-lang=\"fancy\">self</code>.</p>\n\n<p>Example:</p>\n\n<pre><code> [[1,2],[3,4]] to_hash # =&gt; &lt;[1 =&gt; 2, 3 =&gt; 4]&gt;\n</code></pre>\n\n<div class=\"doctags\"></div>\n\n", arg:[], lines:[451, 451], file:"lib/array.fy"}, ":*":{doc:"<p>Returns a new <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> that contains the elements of self num times\nin a row.</p>\n\n<div class=\"doctags\"></div>\n\n", arg:["num"], lines:[360, 360], file:"lib/array.fy"}, "remove:":{doc:"<p>Removes all occurances of obj in the Array.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">obj</code> </label><div>Object to be removed within <code data-lang=\"fancy\">self</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">self</code>, with all occurances of <code data-lang=\"fancy\">obj</code> removed.</div></div></div>\n\n", arg:["obj"], lines:[292, 292], file:"lib/array.fy"}, ":clone":{doc:"<p>Clones (shallow copy) the <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>A shallow copy of the <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code>.</div></div></div>\n\n", arg:[], lines:[27, 27], file:"lib/array.fy"}, "reject!:":{doc:"<p>Same as Array#reject: but doing so in-place (destructive).</p>\n\n<div class=\"doctags\"></div>\n\n", arg:["block"], lines:[269, 269], file:"lib/array.fy"}, "[]:":{doc:"<p>Inserts a given object at a given index (position) in the Array.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">idx</code> </label><div>Index to set a value for.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">obj</code> </label><div>Value (object) to be set at the given index.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">obj</div></div></div>\n\n\n<p></code></p>\n", arg:["idx", "obj"], lines:[76, 76], file:"lib/rbx/array.fy"}, ":inspect":{doc:"<p>Returns a pretty-printed <code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code> representation of <code data-lang=\"fancy\">self</code>.\nExample:</p>\n\n<pre><code> [1, 'foo, \"bar\", 42] inspect # =&gt; \"[1, 'foo, \\\"bar\\\", 42]\"\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Pretty-printed <code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code> representation of <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", arg:[], lines:[337, 337], file:"lib/array.fy"}, ":[]":{doc:"<p>Given an <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> of 2 <code data-lang=\"fancy\" data-class-ref=\"Fixnum\" class=\"class-ref selectable\">Fixnum</code>s, it returns the sub-array between the given indices.\nIf given a single <code data-lang=\"fancy\" data-class-ref=\"Fixnum\" class=\"class-ref selectable\">Fixnum</code>, returns the element at that index.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">index</code> </label><div>Index to get the value for or <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> of 2 indices used for a sub-array.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Element(s) stored in <code data-lang=\"fancy\">self</code> at <code data-lang=\"fancy\">index</code>, possibly <code data-lang=\"fancy\">nil</code> or an empty <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code>.</div></div></div>\n\n", arg:["index"], lines:[87, 87], file:"lib/array.fy"}, ":+":{doc:"<p>Returns concatenation with another <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code>.</p>\n\n<pre><code> [1,2,3] + [3,4,5] # =&gt; [1,2,3,3,4,5]\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Concatenation of <code data-lang=\"fancy\">self</code> with another <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code></div></div></div>\n\n", arg:["other_arr"], lines:[375, 375], file:"lib/array.fy"}, ":third":{doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>The third element in the <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code>.</div></div></div>\n\n", arg:[], lines:[108, 108], file:"lib/array.fy"}, ":>>":{doc:"<p>Returns new Array with elements of other_arr appended to these.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">other_arr</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> to be appended to <code data-lang=\"fancy\">self</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>New <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> with <code data-lang=\"fancy\">other_arr</code> and <code data-lang=\"fancy\">self</code> appended.</div></div></div>\n\n", arg:["other_arr"], lines:[236, 236], file:"lib/array.fy"}, "includes?:":{doc:"<p>Indicates, if an Array includes a given value.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">obj</code> </label><div>Object to search for in <code data-lang=\"fancy\">self</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">true</code>, if <code data-lang=\"fancy\">obj</code> is in <code data-lang=\"fancy\">self</code>, <code data-lang=\"fancy\">false</code> otherwise.</div></div></div>\n\n", arg:["obj"], lines:[27, 27], file:"lib/rbx/array.fy"}, ":fourth":{doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>The fourth element in the <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code>.</div></div></div>\n\n", arg:[], lines:[115, 115], file:"lib/array.fy"}, "last:":{doc:"<p>Returns new Array with last n elements specified.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">count</code> </label><div>Number of last elements to get from an <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> with up to <code data-lang=\"fancy\">count</code> size of last elements in <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", arg:["count"], lines:[98, 98], file:"lib/rbx/array.fy"}, ":to_s":{doc:"<p>Returns <code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code> representation of <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code> representation of <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code>.</div></div></div>\n\n", arg:[], lines:[326, 326], file:"lib/array.fy"}, ":=?":{doc:"<p>Compares two Arrays where order does not matter.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">other</code> </label><div>Other <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> to compare this one to.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">true</code>, if all elements of <code data-lang=\"fancy\">other</code> are in <code data-lang=\"fancy\">self</code>, <code data-lang=\"fancy\">false</code> otherwise.</div></div></div>\n\n", arg:["other"], lines:[178, 178], file:"lib/array.fy"}}}, "Fixnum":{methods:{}, ancestors:["Fixnum", "Number", "Object", "ImmediateValue", "Integer", "Precision", "Numeric", "Comparable", "Object", "Kernel"], doc:"<p>Standard class for integer values in Fancy.</p>\n\n<div class=\"doctags\"></div>\n\n", instance_methods:{":random":{doc:"<p>Returns a random number between 0 and <code data-lang=\"fancy\">self</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Random number between 0 and <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", arg:[], lines:[29, 29], file:"lib/rbx/fixnum.fy"}}}, "Directory":{methods:{"delete:":{doc:"<p>Deletes a directory with a given name, if it's empty.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">dirname</code> </label><div>Path to <code data-lang=\"fancy\" data-class-ref=\"Directory\" class=\"class-ref selectable\">Directory</code> to delete.</div></div></div>\n\n", arg:["dirname"], lines:[45, 45], file:"lib/rbx/directory.fy"}, "list:":{doc:"<p>Example usage:\n Directory list: \"tests/<em>*/</em>.fy\" # => [\"tests/file1.fy\", \"tests/more/file2.fy\"]</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">pattern</code> </label><div>Directory pattern or name containing files to be returned as an <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> of files matching directory <code data-lang=\"fancy\">pattern</code>.</div></div></div>\n\n", arg:["pattern"], lines:[56, 56], file:"lib/rbx/directory.fy"}, "create:":{doc:"<p>Creates a new <code data-lang=\"fancy\" data-class-ref=\"Directory\" class=\"class-ref selectable\">Directory</code> on the filesystem, possibly throwing\nIOError Exceptions that might occur.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">dirname</code> </label><div>Path of <code data-lang=\"fancy\" data-class-ref=\"Directory\" class=\"class-ref selectable\">Directory</code> to create.</div></div></div>\n\n", arg:["dirname"], lines:[15, 15], file:"lib/rbx/directory.fy"}, "exists?:":{doc:"<p>Indicates, if a Directory exists with a given pathname.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">dirname</code> </label><div>Path of <code data-lang=\"fancy\" data-class-ref=\"Directory\" class=\"class-ref selectable\">Directory</code> to check for existance.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">@return</code> </label><div><code data-lang=\"fancy\">true</code>, if <code data-lang=\"fancy\" data-class-ref=\"Directory\" class=\"class-ref selectable\">Directory</code> exists, <code data-lang=\"fancy\">false</code> otherwise.</div></div></div>\n\n", arg:["dirname"], lines:[15, 15], file:"lib/directory.fy"}, "create!:":{doc:"<p>Creates a new <code data-lang=\"fancy\" data-class-ref=\"Directory\" class=\"class-ref selectable\">Directory</code> on the filesystem, ignoring any\nExceptions that might occur.\nBasically works like running <code>mkdir -p</code> on the shell.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">dirname</code> </label><div>Path of <code data-lang=\"fancy\" data-class-ref=\"Directory\" class=\"class-ref selectable\">Directory</code> to create.</div></div></div>\n\n", arg:["dirname"], lines:[30, 30], file:"lib/rbx/directory.fy"}}, ancestors:["Directory", "Object", "Kernel"], doc:"<p>Instances of <code data-lang=\"fancy\" data-class-ref=\"Directory\" class=\"class-ref selectable\">Directory</code> represent directories in the filesystem of\nthe operating system, in which Fancy is being run.</p>\n\n<div class=\"doctags\"></div>\n\n", instance_methods:{}}, "ProxyReceiver":{methods:{}, ancestors:["ProxyReceiver", "BasicObject", "Object", "Kernel"], doc:"<p>A ProxyReceiver is an object which proxies all message sends to it to 2 other objects.\nIt will send each message first to its <code data-lang=\"fancy\">proxy</code> instance variable and then to the <code data-lang=\"fancy\">obj</code> instance variable.</p>\n\n<div class=\"doctags\"></div>\n\n", instance_methods:{"unknown_message:with_params:":{doc:"<p>Forwards all incoming messages to <code data-lang=\"fancy\">self</code> to <code data-lang=\"fancy\">@proxy</code> and then <code data-lang=\"fancy\">@obj</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">msg</code> </label><div>Incoming message name.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">params</code> </label><div>Paremeters of incoming message send.</div></div></div>\n\n", arg:["msg", "params"], lines:[26, 26], file:"lib/proxy.fy"}, "initialize:for:":{doc:"<p>Initializes a new ProxyReceiver with <code data-lang=\"fancy\">proxy</code> for <code data-lang=\"fancy\">obj</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">proxy</code> </label><div>Proxy receiver for <code data-lang=\"fancy\">obj</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">obj</code> </label><div>Original receiver object.</div></div></div>\n\n", arg:["@proxy", "@obj"], lines:[16, 16], file:"lib/proxy.fy"}}}, "Method":{methods:{}, ancestors:["Method", "MethodMixin", "Object", "Unmarshalable", "Object", "Kernel"], doc:"<p>An instance of Method represents a method on a Class.\nEvery method in Fancy is an instance of the Method class.</p>\n\n<div class=\"doctags\"></div>\n\n", instance_methods:{}}, "NameError":{methods:{}, ancestors:["NameError", "StandardError", "Exception", "Object", "Kernel"], doc:"<p>NameError exception class. Used within Rubinius.</p>\n\n<div class=\"doctags\"></div>\n\n", instance_methods:{}}, "Range":{methods:{}, ancestors:["Range", "Fancy Enumerable", "Object", "Enumerable", "Object", "Kernel"], doc:"<p>Class of Range values. Are created by using Range literal syntax in Fancy.</p>\n\n<p>Example:</p>\n\n<pre><code> (10..100) # Range from 10 to 100\n # the following code does the same as above:\n Range new: 10 to: 100\n</code></pre>\n\n<div class=\"doctags\"></div>\n\n", instance_methods:{"each:":{doc:"<p>Calls <code data-lang=\"fancy\">block</code> on each value in <code data-lang=\"fancy\">self</code>. Used for iterating over a <code data-lang=\"fancy\" data-class-ref=\"Range\" class=\"class-ref selectable\">Range</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">block</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> to be called with every value in <code data-lang=\"fancy\">self</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", arg:["block"], lines:[36, 36], file:"lib/rbx/range.fy"}, ":to_s":{doc:"<p>Same as Range#inspect</p>\n\n<div class=\"doctags\"></div>\n\n", arg:[], lines:[18, 18], file:"lib/range.fy"}, "initialize:to:":{doc:"<p>Initializes a new Range starting at <code data-lang=\"fancy\">start</code> and ending at <code data-lang=\"fancy\">end</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">end</code> </label><div>End element of Range.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">start</code> </label><div>Start element of Range.</div></div></div>\n\n", arg:["@start", "@end"], lines:[13, 13], file:"lib/rbx/range.fy"}, ":inspect":{doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code> representation of <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", arg:[], lines:[26, 26], file:"lib/range.fy"}}}, "Fancy Enumerable":{methods:{}, ancestors:["Fancy Enumerable", "Object", "Kernel"], doc:"<p>Mixin-Class with useful methods for collections that implement an <code data-lang=\"fancy\" data-method=\"each:\" class=\"selectable\">each:</code> method.</p>\n\n<div class=\"doctags\"></div>\n\n", instance_methods:{"superior_by:taking:":{doc:"<p>Returns the superior element in the <code data-lang=\"fancy\">Enumerable</code> that has met\nthe given comparison block with all other elements,\napplied to whatever <code data-lang=\"fancy\">selection_block</code> returns for each element.</p>\n\n<p>Examples:</p>\n\n<pre><code> [1,2,5,3,4] superior_by: '&gt; # =&gt; 5\n [1,2,5,3,4] superior_by: '&lt; # =&gt; 1\n [[1,2], [2,3,4], [], [1]] superior_by: '&gt; taking: 'size # =&gt; [2,3,4]\n [[1,2], [2,3,4], [-1]] superior_by: '&lt; taking: 'first # =&gt; [-1]\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">comparison_block</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> to be used for comparison.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">selection_block</code> </label><div>defaults to <code data-lang=\"fancy\">identity</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Superior element in <code data-lang=\"fancy\">self</code> in terms of <code data-lang=\"fancy\">comparison_block</code>.</div></div></div>\n\n", arg:["comparison_block", "selection_block"], lines:[388, 388], file:"lib/enumerable.fy"}, ":first":{doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>First element in <code data-lang=\"fancy\">self</code> or <code data-lang=\"fancy\">nil</code>, if empty.</div></div></div>\n\n", arg:[], lines:[339, 339], file:"lib/enumerable.fy"}, "sort_by:":{doc:"<p>Sorts a collection by a given comparison block.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">block</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> taking 2 arguments used to compare elements in a collection.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Sorted <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> of elements in <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", arg:["block"], lines:[496, 496], file:"lib/enumerable.fy"}, "reverse_each:":{doc:"<p>Runs <code data-lang=\"fancy\">block</code> for each element on reversed version of self.\nIf <code data-lang=\"fancy\">self</code> is not a sorted collection, no guarantees about the reverse order can be given.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">block</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> to be called for each element in reverse order.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">self</div></div></div>\n\n\n<p></code></p>\n", arg:["block"], lines:[568, 568], file:"lib/enumerable.fy"}, "inject:into:":{doc:"<p>Same as reduce:init_val: but taking the initial value as first\nand the reducing block as second parameter.</p>\n\n<p>Example:</p>\n\n<pre><code> [1,2,3] inject: 0 into: |sum val| { sum + val } # =&gt; 6\n</code></pre>\n\n<div class=\"doctags\"></div>\n\n", arg:["val", "block"], lines:[286, 286], file:"lib/enumerable.fy"}, "partition_by:":{doc:"<p>Example:</p>\n\n<pre><code> 0 upto: 10 . partition_by: |x| { x &lt; 3 } # =&gt; [[0, 1, 2], [3, 4, 5, 6, 7, 8, 9, 10]]\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">block</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> that gets used to decide when to partition elements in <code data-lang=\"fancy\">self</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> of <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code>s, partitioned by equal return values of calling <code data-lang=\"fancy\">block</code> with each element</div></div></div>\n\n", arg:["block"], lines:[456, 456], file:"lib/enumerable.fy"}, "each:in_between:":{doc:"<p>Similar to <code data-lang=\"fancy\" data-method=\"each:\" class=\"selectable\">each:</code> but calls an additional <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> between\ncalling the first <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> for each element in self.</p>\n\n<div class=\"doctags\"></div>\n\n", arg:["each_block", "between_block"], lines:[40, 40], file:"lib/enumerable.fy"}, ":max":{doc:"<p>Returns the maximum value in the Enumerable (via the '>' comparison message).</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Maximum value in <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", arg:[], lines:[409, 409], file:"lib/enumerable.fy"}, "map:":{doc:"<p>Returns a new <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> with the results of calling a given block for every element.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">block</code> </label><div>A <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> that gets called with each element in <code data-lang=\"fancy\">self</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>An <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> containing all values of calling <code data-lang=\"fancy\">block</code> with each element in <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", arg:["block"], lines:[140, 140], file:"lib/enumerable.fy"}, ":last":{doc:"<p>Returns the last element in an Enumerable.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Last element in <code data-lang=\"fancy\">self</code> or <code data-lang=\"fancy\">nil</code>, if empty.</div></div></div>\n\n", arg:[], lines:[349, 349], file:"lib/enumerable.fy"}, ":uniq":{doc:"<p>Returns a new Array with all unique values (double entries are skipped).</p>\n\n<p>Example:</p>\n\n<pre><code> [1,2,1,2,3] uniq # =&gt; [1,2,3]\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> of all unique elements in <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", arg:[], lines:[298, 298], file:"lib/enumerable.fy"}, "take_while:":{doc:"<p>Returns a new <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> by taking elements from the beginning\nas long as they meet the given condition block.</p>\n\n<p>Example:</p>\n\n<pre><code> [1,2,3,4,5] take_while: |x| { x &lt; 4 } # =&gt; [1,2,3]\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>An <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> of all elements from the beginning until <code data-lang=\"fancy\">condition</code> yields <code data-lang=\"fancy\">false</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">condition</code> </label><div>A <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> that is used as a condition for filtering.</div></div></div>\n\n", arg:["condition"], lines:[187, 187], file:"lib/enumerable.fy"}, ":product":{doc:"<p>Calculates the product of all the elements in the <code data-lang=\"fancy\">Enumerable</code>\n(assuming them to be <code data-lang=\"fancy\" data-class-ref=\"Number\" class=\"class-ref selectable\">Number</code>s (implementing <code data-lang=\"fancy\">+</code> &amp; <code data-lang=\"fancy\">*</code>)).</p>\n\n<div class=\"doctags\"></div>\n\n", arg:[], lines:[437, 437], file:"lib/enumerable.fy"}, "reject:":{doc:"<p>Similar to <code data-lang=\"fancy\" data-method=\"select:\" class=\"selectable\">select:</code> but inverse.\nReturns a new <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> with all elements that don't meet the given condition block.</p>\n\n<div class=\"doctags\"></div>\n\n", arg:["condition"], lines:[168, 168], file:"lib/enumerable.fy"}, "in_groups_of:":{doc:"<p>Example usage:</p>\n\n<pre><code> [1,2,3,4,5] in_groups_of: 3 # =&gt; [[1,2,3],[4,5]]\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> of <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code>s with a max size of <code data-lang=\"fancy\">size</code> (grouped).</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">size</code> </label><div>Maximum size of each group.</div></div></div>\n\n", arg:["size"], lines:[507, 507], file:"lib/enumerable.fy"}, "join:":{doc:"<p>Joins a collection with a <code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code> between each element, returning a new <code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code>.</p>\n\n<pre><code> \"hello, world\" join: \"-\" # =&gt; \"h-e-l-l-o-,- -w-o-r-l-d\"\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">str</code> </label><div>Value (usually a <code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code>) to be used for the joined <code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code> containing all elements in <code data-lang=\"fancy\">self</code> interspersed with <code data-lang=\"fancy\">str</code>.</div></div></div>\n\n", arg:["str"], lines:[57, 57], file:"lib/enumerable.fy"}, ":empty?":{doc:"<p>Indicates, if the Enumerable is empty (has no elements).</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">true</code>, if size of <code data-lang=\"fancy\">self</code> is 0, <code data-lang=\"fancy\">false</code> otherwise.</div></div></div>\n\n", arg:[], lines:[328, 328], file:"lib/enumerable.fy"}, ":compact":{doc:"<p>Returns a new <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> with all values removed that are <code data-lang=\"fancy\">nil</code> ( return <code data-lang=\"fancy\">true</code> on <code data-lang=\"fancy\">nil?</code> ).</p>\n\n<p>Example:</p>\n\n<pre><code> [1,2,nil,3,nil] compact # =&gt; [1,2,3]\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> with all non-nil elements in <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", arg:[], lines:[367, 367], file:"lib/enumerable.fy"}, ":reverse":{doc:"<p>Returns <code data-lang=\"fancy\">self</code> in reverse order.\nThis only makes sense for collections that have an ordering.\nIn either case, it simply converts <code data-lang=\"fancy\">self</code> to an <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> and returns it in reversed order.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">self</code> in reverse order.</div></div></div>\n\n", arg:[], lines:[537, 537], file:"lib/enumerable.fy"}, "superior_by:":{doc:"<p>Forward to message superior_by:taking:</p>\n\n<div class=\"doctags\"></div>\n\n", arg:["comparison_block"], lines:[369, 369], file:"lib/enumerable.fy"}, ":average":{doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Average value in <code data-lang=\"fancy\">self</code> (expecting <code data-lang=\"fancy\" data-class-ref=\"Number\" class=\"class-ref selectable\">Number</code>s or Objects implementing <code data-lang=\"fancy\">+</code> and <code data-lang=\"fancy\">*</code>).</div></div></div>\n\n", arg:[], lines:[444, 444], file:"lib/enumerable.fy"}, "all?:":{doc:"<p>Takes condition-block and returns <code data-lang=\"fancy\">true</code> if all elements meet it.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">block</code> </label><div>Predicate <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> to be called for each element until it returns <code data-lang=\"fancy\">false</code> for any one of them.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">true</code> if all elements in <code data-lang=\"fancy\">self</code> yield <code data-lang=\"fancy\">true</code> for <code data-lang=\"fancy\">block</code>, <code data-lang=\"fancy\">false</code> otherwise.</div></div></div>\n\n", arg:["condition"], lines:[95, 95], file:"lib/enumerable.fy"}, "find:":{doc:"<p>Returns <code data-lang=\"fancy\">nil</code>, if <code data-lang=\"fancy\">item</code> (or anything that returns <code data-lang=\"fancy\">true</code> when comparing to <code data-lang=\"fancy\">item</code>) isn't found.\nOtherwise returns that element that is equal to <code data-lang=\"fancy\">item</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">item</code> </label><div>Item to be found in <code data-lang=\"fancy\">self</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>The first element that is equal to <code data-lang=\"fancy\">item</code> or <code data-lang=\"fancy\">nil</code>, if none found.</div></div></div>\n\n", arg:["item"], lines:[117, 117], file:"lib/enumerable.fy"}, "find_by:":{doc:"<p>Similar to <code data-lang=\"fancy\" data-method=\"find:\" class=\"selectable\">find:</code> but takes a block that is called for each element to find it.</p>\n\n<div class=\"doctags\"></div>\n\n", arg:["block"], lines:[129, 129], file:"lib/enumerable.fy"}, "drop:":{doc:"<p>Example:</p>\n\n<pre><code> [1,2,3,4,5] drop: 2 # =&gt; [3,4,5]\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">amount</code> </label><div>Amount of elements to skip in <code data-lang=\"fancy\">self</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>An <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> of all but the first <code data-lang=\"fancy\">amount</code> elements in <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", arg:["amount"], lines:[251, 251], file:"lib/enumerable.fy"}, ":size":{doc:"<p>Returns the size of an Enumerable.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Amount of elements in <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", arg:[], lines:[314, 314], file:"lib/enumerable.fy"}, "any?:":{doc:"<p>Indicates, if any element meets the condition.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">true</code>, if <code data-lang=\"fancy\">condition</code> yields <code data-lang=\"fancy\">true</code> for any element, <code data-lang=\"fancy\">false</code> otherwise.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">condition</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> (or <code data-lang=\"fancy\">Callable</code>) that is used to check if any element in <code data-lang=\"fancy\">self</code> yields true for it.</div></div></div>\n\n", arg:["condition"], lines:[79, 79], file:"lib/enumerable.fy"}, "take:":{doc:"<p>Example:</p>\n\n<pre><code> [1,2,3,4] take: 2 # =&gt; [1,2]\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">amount</code> </label><div>Amount of elements to take from <code data-lang=\"fancy\">self</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>First <code data-lang=\"fancy\">amount</code> elements of <code data-lang=\"fancy\">self</code> in an <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code>.</div></div></div>\n\n", arg:["amount"], lines:[235, 235], file:"lib/enumerable.fy"}, "drop_while:":{doc:"<p>Similar to <code data-lang=\"fancy\" data-method=\"take_while:\" class=\"selectable\">take_while:</code> but inverse.\nReturns a new <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> by skipping elements from the beginning\nas long as they meet the given condition block.</p>\n\n<p>Example:</p>\n\n<pre><code> [1,2,3,4,5] drop_while: |x| { x &lt; 4 } # =&gt; [4,5]\n</code></pre>\n\n<div class=\"doctags\"></div>\n\n", arg:["condition"], lines:[208, 208], file:"lib/enumerable.fy"}, "skip:":{doc:"<p>Example:</p>\n\n<pre><code> [1,2,3,4,5] drop: 2 # =&gt; [3,4,5]\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">amount</code> </label><div>Amount of elements to skip in <code data-lang=\"fancy\">self</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>An <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> of all but the first <code data-lang=\"fancy\">amount</code> elements in <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", arg:["amount"], lines:[251, 251], file:"lib/enumerable.fy"}, ":sum":{doc:"<p>Calculates the sum of all the elements in the <code data-lang=\"fancy\">Enumerable</code>\n(assuming them to be <code data-lang=\"fancy\" data-class-ref=\"Number\" class=\"class-ref selectable\">Number</code>s (implementing '+' &amp; '*')).</p>\n\n<div class=\"doctags\"></div>\n\n", arg:[], lines:[428, 428], file:"lib/enumerable.fy"}, "select:":{doc:"<p>Returns a new <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> with all elements that meet the given condition block.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>An <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> containing all elements in <code data-lang=\"fancy\">self</code> that yield <code data-lang=\"fancy\">true</code> when called with <code data-lang=\"fancy\">condition</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">condition</code> </label><div>A <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> that is used as a filter on all elements in <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", arg:["condition"], lines:[155, 155], file:"lib/enumerable.fy"}, "to_hash:":{doc:"<p>Example:</p>\n\n<pre><code> [\"foo\", \\\342\200\235hello\", \"ok\", \"\"] to_hash: @{ size }\n # =&gt; &lt;[3 =&gt; \"foo\", 5 =&gt; \"hello\", 2 =&gt; \"ok\", 0 =&gt; \"\"]&gt;\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">block</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> to be called to get the key for each element in <code data-lang=\"fancy\">self</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Hash\" class=\"class-ref selectable\">Hash</code> of key/value pairs based on values in <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", arg:["block"], lines:[551, 551], file:"lib/enumerable.fy"}, "each_with_index:":{doc:"<p>Iterate over all elements in <code data-lang=\"fancy\">self</code>.\nCalls a given <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> with each element and its index.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">block</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> to be called with each element and its index in the <code data-lang=\"fancy\">self</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">self</div></div></div>\n\n\n<p></code></p>\n", arg:["block"], lines:[16, 16], file:"lib/enumerable.fy"}, "includes?:":{doc:"<p>Indicates, if a collection includes a given element.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">item</code> </label><div>Item to check if it's included in <code data-lang=\"fancy\">self</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">true</code>, if <code data-lang=\"fancy\">item</code> in <code data-lang=\"fancy\">self</code>, otherwise <code data-lang=\"fancy\">false</code>.</div></div></div>\n\n", arg:["item"], lines:[32, 32], file:"lib/enumerable.fy"}, "reduce:init_val:":{doc:"<p>Calculates a value based on a given block to be called on an accumulator\nvalue and an initial value.</p>\n\n<p>Example:</p>\n\n<pre><code> [1,2,3] reduce: |sum val| { sum + val } init_val: 0 # =&gt; 6\n</code></pre>\n\n<div class=\"doctags\"></div>\n\n", arg:["block", "init_val"], lines:[269, 269], file:"lib/enumerable.fy"}, ":random":{doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Random element in <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", arg:[], lines:[479, 479], file:"lib/enumerable.fy"}, ":min":{doc:"<p>Returns the minimum value in the Enumerable (via the '&lt;' comparison message).</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Minimum value in <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", arg:[], lines:[419, 419], file:"lib/enumerable.fy"}}}, "Thread":{methods:{"sleep:":{doc:"<p>Sets the Fancy process for a given amount of seconds to sleep.</p>\n\n<div class=\"doctags\"></div>\n\n", arg:["seconds"], lines:[87, 87], file:"lib/rbx/thread.fy"}}, ancestors:["Thread", "Object", "Kernel"], doc:"<p>Thread class.\nDeals with parallel execution.</p>\n\n<p>TODO:\n=> Still need to add more Fancy-ish wrapper methods and method\n documentation.</p>\n\n<div class=\"doctags\"></div>\n\n", instance_methods:{}}, "Bignum":{methods:{}, ancestors:["Bignum", "Number", "Object", "Integer", "Precision", "Numeric", "Comparable", "Object", "Kernel"], doc:"<p>Class for large integer values in Fancy.</p>\n\n<div class=\"doctags\"></div>\n\n", instance_methods:{}}, "NilClass":{methods:{":new":{doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">nil</code>.</div></div></div>\n\n", arg:[], lines:[13, 13], file:"lib/nil_class.fy"}}, ancestors:["NilClass", "ImmediateValue", "Object", "Kernel"], doc:"<p>NilClass. The class of the singleton <code data-lang=\"fancy\">nil</code> value.</p>\n\n<div class=\"doctags\"></div>\n\n", instance_methods:{"if_nil:":{doc:"<p>Calls <code data-lang=\"fancy\">block</code> with <code data-lang=\"fancy\">self</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">block</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> to be called.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Value of calling <code data-lang=\"fancy\">block</code> with <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", arg:["block"], lines:[41, 41], file:"lib/nil_class.fy"}, "if_nil:else:":{doc:"<p>Calls <code data-lang=\"fancy\">then_block</code> with <code data-lang=\"fancy\">self</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">then_block</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> to be called with <code data-lang=\"fancy\">self</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">else_block</code> </label><div>Gets ignored.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Value of calling <code data-lang=\"fancy\">then_block</code> with <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", arg:["then_block", "else_block"], lines:[53, 53], file:"lib/nil_class.fy"}, ":nil?":{doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">true</code>.</div></div></div>\n\n", arg:[], lines:[61, 61], file:"lib/nil_class.fy"}, ":not":{doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">true</code>.</div></div></div>\n\n", arg:[], lines:[87, 87], file:"lib/nil_class.fy"}, "if_true:":{doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">nil</code>.</div></div></div>\n\n", arg:["block"], lines:[21, 21], file:"lib/nil_class.fy"}, "if_true:else:":{doc:"<p>Calls <code data-lang=\"fancy\">else_block</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Value of calling <code data-lang=\"fancy\">else_block</code>.</div></div></div>\n\n", arg:["then_block", "else_block"], lines:[30, 30], file:"lib/nil_class.fy"}, ":to_a":{doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>An empty <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code>.</div></div></div>\n\n", arg:[], lines:[79, 79], file:"lib/nil_class.fy"}, ":to_s":{doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>An empty <code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code>.</div></div></div>\n\n", arg:[], lines:[69, 69], file:"lib/nil_class.fy"}, ":inspect":{doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">nil</code> as a <code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code>.</div></div></div>\n\n", arg:[], lines:[95, 95], file:"lib/nil_class.fy"}}}, "Fancy Package Uninstaller":{methods:{}, ancestors:["Fancy Package Uninstaller", "Object", "Kernel"], doc:"<p><code data-lang=\"fancy\" data-class-ref=\"Fancy\" class=\"class-ref selectable\">Fancy</code> <code data-lang=\"fancy\" data-class-ref=\"Fancy Package\" class=\"class-ref selectable\">Package</code> Uninstaller.</p>\n\n<div class=\"doctags\"></div>\n\n", instance_methods:{}}, "MatchData":{methods:{}, ancestors:["MatchData", "Unmarshalable", "Object", "Kernel"], doc:"<p>MatchData instances are created when using the #=== match operator\n(e.g. by using match/case expressions).</p>\n\n<div class=\"doctags\"></div>\n\n", instance_methods:{"at:":{doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">idx</code> </label><div>Index of value to get.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Value at index <code data-lang=\"fancy\">idx</code>.</div></div></div>\n\n", arg:["idx"], lines:[16, 16], file:"lib/rbx/match_data.fy"}, ":to_a":{doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> representation of <code data-lang=\"fancy\">self</code> containing matched values of <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", arg:[], lines:[24, 24], file:"lib/rbx/match_data.fy"}}}, "Regexp":{methods:{}, ancestors:["Regexp", "Object", "Kernel"], doc:"<p>Regular Expression class. Used by Regexp literals in Fancy.</p>\n\n<div class=\"doctags\"></div>\n\n", instance_methods:{}}, "TCPSocket":{methods:{"open:port:":{doc:"<p>Creates and opens a new <code data-lang=\"fancy\" data-class-ref=\"TCPSocket\" class=\"class-ref selectable\">TCPSocket</code> on <code data-lang=\"fancy\">server</code> and <code data-lang=\"fancy\">port</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">server</code> </label><div>Server hostname to open Socket on.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">port</code> </label><div>Server port to open Socket on.</div></div></div>\n\n", arg:["server", "port"], lines:[19, 19], file:"lib/rbx/tcp_socket.fy"}}, ancestors:["TCPSocket", "IPSocket", "BasicSocket", "IO", "IOMixin", "Object", "Unmarshalable", "File Constants", "Enumerable", "Object", "Kernel"], doc:"<p>TCP Socket class.</p>\n\n<div class=\"doctags\"></div>\n\n", instance_methods:{"send:":{doc:"<p>Forward to message send:flags:</p>\n\n<div class=\"doctags\"></div>\n\n", arg:["msg"], lines:[21, 21], file:"lib/rbx/tcp_socket.fy"}}}, "Date":{methods:{}, ancestors:["Date", "Comparable", "Object", "Kernel"], doc:"<p>Date class. Used for timely stuff.</p>\n\n<div class=\"doctags\"></div>\n\n", instance_methods:{":!=":{doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">other</code> </label><div>Other <code data-lang=\"fancy\" data-class-ref=\"Date\" class=\"class-ref selectable\">Date</code> to compare to.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">true</code> if equal, <code data-lang=\"fancy\">false</code> otherwhise.</div></div></div>\n\n", arg:["other"], lines:[20, 20], file:"lib/rbx/date.fy"}}}, "Fancy Documentation":{methods:{"for:append:":{doc:"<p>Append docstring to the documentation for obj.\nIf obj has no documentation, one is created for it.</p>\n\n<div class=\"doctags\"></div>\n\n", arg:["obj", "docstring"], lines:[70, 70], file:"lib/documentation.fy"}, "for_method:on_class:is:":{doc:"<p>Similar to <code data-lang=\"fancy\" data-class-ref=\"Fancy\" class=\"class-ref selectable\">Fancy</code> <code data-lang=\"fancy\" data-class-ref=\"Fancy Documentation\" class=\"class-ref selectable\">Documentation</code> <code data-lang=\"fancy\" data-ruby-singleton-method-ref=\"\" data-owner-class=\"Fancy Documentation\" class=\"ruby-singleton-method-ref selectable\"></code> but taking the method name and the <code data-lang=\"fancy\" data-class-ref=\"Class\" class=\"class-ref selectable\">Class</code> for which <code data-lang=\"fancy\" data-class-ref=\"Method\" class=\"class-ref selectable\">Method</code> to define the docstring.</p>\n\n<div class=\"doctags\"></div>\n\n", arg:["method_name", "class", "docstring"], lines:[49, 49], file:"lib/rbx/documentation.fy"}, "remove:":{doc:"<p>Removes the documentation for obj.</p>\n\n<div class=\"doctags\"></div>\n\n", arg:["obj"], lines:[62, 62], file:"lib/rbx/documentation.fy"}, "formatter:is:":{doc:"<p>Registers a callable object as formatter under name.</p>\n\n<div class=\"doctags\"></div>\n\n", arg:["name", "callable"], lines:[91, 91], file:"lib/documentation.fy"}, ":formatters":{doc:"<p>Obtain the hash of known documentation formatters.</p>\n\n<div class=\"doctags\"></div>\n\n", arg:[], lines:[100, 100], file:"lib/documentation.fy"}, "for:is:":{doc:"<p>Create a Fancy::Documentation instance.</p>\n\n<p>Note: As we're bootstrapping, we cannot set documentation here as\nan string literal.</p>\n\n<p>We are the very first thing to load, so just create a new\nFancy::Documentation object without using new:, and set it as\nfancy docs.</p>\n\n<div class=\"doctags\"></div>\n\n", arg:["obj", "docstring"], lines:[37, 37], file:"lib/rbx/documentation.fy"}, "for:":{doc:"<p>Obtains the Fancy Documentation for obj.</p>\n\n<div class=\"doctags\"></div>\n\n", arg:["obj"], lines:[57, 57], file:"lib/rbx/documentation.fy"}, "formatter:":{doc:"<p>Obtains a formatter by a given name. Returns a callable object.</p>\n\n<div class=\"doctags\"></div>\n\n", arg:["name"], lines:[83, 83], file:"lib/documentation.fy"}}, ancestors:["Fancy Documentation", "Object", "Kernel"], doc:"<p>A Fancy Documentation object is a holder for docstrings and specs.\nKeeps a registry of documentation for anything Fancy.</p>\n\n<p>Provides methods for searching and formatting an Object's docstrings.\nThis can be be handy for users of the interactive Fancy REPL,\ndocument generators, instrospection tools, IDEs, anything!</p>\n\n<p>This object can be converted to just anything by using its format:\nmethod. Formatters can be registered with Fancy Documentation#formatter:is:</p>\n\n<p>By default two formatters are defined:</p>\n\n<p> 'fancy => Returns the Fancy::Documentation object\n 'string => Returns the docs string representation</p>\n\n<div class=\"doctags\"></div>\n\n", instance_methods:{"format:":{doc:"<p>If format is specified, the documentation string will be\nconverted using the corresponding formatter. This allows\nyou to extend Fancy documentation system, and produce\nhtml documents, man pages, or anything you can imagine.</p>\n\n<div class=\"doctags\"></div>\n\n", arg:["format"], lines:[58, 58], file:"lib/documentation.fy"}, ":docs":{doc:"<p>An array of docstrings for the object beind documented.</p>\n\n<p>We have an array of docstrings because in Fancy, some\nthings like classes can be re-openned and the user may\nspecify new documentation for it each time. Thus we dont\nwant to loose the previous documentation but rather build\nupon it. That is, fancy supports incremental documentation.</p>\n\n<div class=\"doctags\"></div>\n\n"}, ":specs":{doc:"<p>An array of associated Fancy specs for the object\nbeing documented.</p>\n\n<p>Its a lot better to keep the associated specs in\nFancy Documentation objects instead of just having them\nin method instances. This allows us to associate any object\nwith an spec example.</p>\n\n<p>This way you can have a single Fancy spec example that\nis related to many objects (methods, constants, classes)\nthat are being specified. Later in documentation, we can\nprovide links to all specs where an object is being exercised.</p>\n\n<div class=\"doctags\"></div>\n\n"}}}, "TrueClass":{methods:{":new":{doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">true</code>.</div></div></div>\n\n", arg:[], lines:[13, 13], file:"lib/true_class.fy"}}, ancestors:["TrueClass", "ImmediateValue", "Object", "Kernel"], doc:"<p>TrueClass. The class of the singleton <code data-lang=\"fancy\">true</code> value.</p>\n\n<div class=\"doctags\"></div>\n\n", instance_methods:{":not":{doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">false</code>.</div></div></div>\n\n", arg:[], lines:[70, 70], file:"lib/true_class.fy"}, "if_true:":{doc:"<p>Calls <code data-lang=\"fancy\">block</code> with <code data-lang=\"fancy\">self</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">block</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> to be called with <code data-lang=\"fancy\">self</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Value of calling <code data-lang=\"fancy\">block</code> with <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", arg:["block"], lines:[24, 24], file:"lib/true_class.fy"}, "if_true:else:":{doc:"<p>Calls <code data-lang=\"fancy\">then_block</code> with <code data-lang=\"fancy\">self</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">then_block</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> to be called with <code data-lang=\"fancy\">self</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">else_block</code> </label><div>Gets ignored.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Value of calling <code data-lang=\"fancy\">then_block</code> with <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", arg:["then_block", "else_block"], lines:[36, 36], file:"lib/true_class.fy"}, ":true?":{doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">true</code>.</div></div></div>\n\n", arg:[], lines:[44, 44], file:"lib/true_class.fy"}, ":to_a":{doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>An empty <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code>.</div></div></div>\n\n", arg:[], lines:[62, 62], file:"lib/true_class.fy"}, ":to_s":{doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">true</code> as a <code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code>.</div></div></div>\n\n", arg:[], lines:[52, 52], file:"lib/true_class.fy"}, ":inspect":{doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">true</code> as a <code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code>.</div></div></div>\n\n", arg:[], lines:[52, 52], file:"lib/true_class.fy"}}}, "Console":{methods:{":newline":{doc:"<p>Prints a newline to <code data-lang=\"fancy\">STDOUT</code>.</p>\n\n<div class=\"doctags\"></div>\n\n", arg:[], lines:[7, 7], file:"lib/rbx/console.fy"}, "println:":{doc:"<p>Prints a given object on <code data-lang=\"fancy\">STDOUT</code>, followed by a newline.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">obj</code> </label><div>Object to be printed on <code data-lang=\"fancy\">STDOUT</code>, followed by a newline.</div></div></div>\n\n", arg:["obj"], lines:[27, 27], file:"lib/rbx/console.fy"}, ":readln":{doc:"<p>Reads a line from <code data-lang=\"fancy\">STDIN</code> and returns it as a <code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Line (<code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code>) read from <code data-lang=\"fancy\">STDIN</code>.</div></div></div>\n\n", arg:[], lines:[56, 56], file:"lib/rbx/console.fy"}, "print:":{doc:"<p>Prints a given object on <code data-lang=\"fancy\">STDOUT</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">obj</code> </label><div>Object to be printed on <code data-lang=\"fancy\">STDOUT</code>.</div></div></div>\n\n", arg:["obj"], lines:[17, 17], file:"lib/rbx/console.fy"}, ":clear":{doc:"<p>Clears the <code data-lang=\"fancy\" data-class-ref=\"Console\" class=\"class-ref selectable\">Console</code>.</p>\n\n<div class=\"doctags\"></div>\n\n", arg:[], lines:[61, 61], file:"lib/rbx/console.fy"}, "readln:":{doc:"<p>Prints a given message to <code data-lang=\"fancy\">STDOUT</code>, followed by reading a line from\n<code data-lang=\"fancy\">STDIN</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">message</code> </label><div>A <code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code> that should be printed to <code data-lang=\"fancy\">STDOUT</code> before reading from <code data-lang=\"fancy\">STDIN</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Line (<code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code>) read from <code data-lang=\"fancy\">STDIN</code>.</div></div></div>\n\n", arg:["message"], lines:[40, 40], file:"lib/rbx/console.fy"}}, ancestors:["Console", "Object", "Kernel"], doc:"<p>Console class. Used for <code data-lang=\"fancy\">STDIO</code>.</p>\n\n<div class=\"doctags\"></div>\n\n", instance_methods:{}}, "Tuple":{methods:{"new:":{doc:"<p>Initializes a new <code data-lang=\"fancy\" data-class-ref=\"Tuple\" class=\"class-ref selectable\">Tuple</code> with a given amount of element slots.\nE.g. if <code data-lang=\"fancy\">size</code> is <code data-lang=\"fancy\">2</code>, creates a 2-Tuple.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">size</code> </label><div>Size of the <code data-lang=\"fancy\" data-class-ref=\"Tuple\" class=\"class-ref selectable\">Tuple</code> (amount of values to hold).</div></div></div>\n\n", arg:["size"], lines:[16, 16], file:"lib/rbx/tuple.fy"}, "with_values:":{doc:"<p>Creates a new <code data-lang=\"fancy\" data-class-ref=\"Tuple\" class=\"class-ref selectable\">Tuple</code> with the <code data-lang=\"fancy\">values</code> passed in.</p>\n\n<p>Example:</p>\n\n<pre><code> Tuple with_values: [1,2,3] # =&gt; (1,2,3)\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">values</code> </label><div>Values of the <code data-lang=\"fancy\" data-class-ref=\"Tuple\" class=\"class-ref selectable\">Tuple</code> to be created.</div></div></div>\n\n", arg:["values"], lines:[19, 19], file:"lib/tuple.fy"}, ":===":{doc:"<p>Matches <code data-lang=\"fancy\" data-class-ref=\"Tuple\" class=\"class-ref selectable\">Tuple</code> class against an object.\nIf the given object is a Tuple instance, return a Tuple object.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">obj</code> </label><div>Object to be matched against</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Tuple instance containing the values of <code data-lang=\"fancy\">obj</code> to be used in pattern matching.</div></div></div>\n\n", arg:["obj"], lines:[144, 144], file:"lib/tuple.fy"}}, ancestors:["Rubinius Tuple", "Fancy Enumerable", "Object", "Enumerable", "Object", "Kernel"], doc:"<p>Tuples are fixed-size containers providing index-based access to its\nelements.</p>\n\n<div class=\"doctags\"></div>\n\n", instance_methods:{":second":{doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>The second element in <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", arg:[], lines:[48, 48], file:"lib/tuple.fy"}, "at:":{doc:"<p>Returns an element at a given indes.\nPossibly throws an <code data-lang=\"fancy\" data-class-ref=\"Rubinius\" class=\"class-ref selectable\">Rubinius</code> <code data-lang=\"fancy\" data-class-ref=\"Rubinius ObjectBoundsExceededError\" class=\"class-ref selectable\">ObjectBoundsExceededError</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">idx</code> </label><div>Index for the element to get.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Element at the given index within the <code data-lang=\"fancy\" data-class-ref=\"Tuple\" class=\"class-ref selectable\">Tuple</code> or <code data-lang=\"fancy\">nil</code>.</div></div></div>\n\n", arg:["idx"], lines:[34, 34], file:"lib/rbx/tuple.fy"}, ":third":{doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>The third element in <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", arg:[], lines:[56, 56], file:"lib/tuple.fy"}, ":==":{doc:"<p>Compares two <code data-lang=\"fancy\" data-class-ref=\"Tuple\" class=\"class-ref selectable\">Tuple</code>s with each other.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">other</code> </label><div>Other <code data-lang=\"fancy\" data-class-ref=\"Tuple\" class=\"class-ref selectable\">Tuple</code> to compare <code data-lang=\"fancy\">self</code> with.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">true</code>, if tuples are equal element-wise, <code data-lang=\"fancy\">false</code> otherwise.</div></div></div>\n\n", arg:["other"], lines:[114, 114], file:"lib/tuple.fy"}, "each:":{doc:"<p>Calls a given <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> with each element in the <code data-lang=\"fancy\" data-class-ref=\"Tuple\" class=\"class-ref selectable\">Tuple</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">block</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> to be called for each element in <code data-lang=\"fancy\">self</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Return value of calling <code data-lang=\"fancy\">block</code> on the last item in <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", arg:["block"], lines:[74, 74], file:"lib/tuple.fy"}, ":first":{doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>The first element in <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", arg:[], lines:[40, 40], file:"lib/tuple.fy"}, ":fourth":{doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>The fourth element in <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", arg:[], lines:[64, 64], file:"lib/tuple.fy"}, "reverse_each:":{doc:"<p>Example:</p>\n\n<pre><code> (1,2,3) reverse_each: @{print}\n # prints: 321\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">block</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> to be called for each element (in reverse order).</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", arg:["block"], lines:[90, 90], file:"lib/tuple.fy"}, "at:put:":{doc:"<p>Sets a value for a given index within a <code data-lang=\"fancy\" data-class-ref=\"Tuple\" class=\"class-ref selectable\">Tuple</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">idx</code> </label><div>Index of element to set.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">val</code> </label><div>Value to set at given index.</div></div></div>\n\n", arg:["idx", "val"], lines:[44, 44], file:"lib/rbx/tuple.fy"}, "[]:":{doc:"<p>Sets a value for a given index within a <code data-lang=\"fancy\" data-class-ref=\"Tuple\" class=\"class-ref selectable\">Tuple</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">idx</code> </label><div>Index of element to set.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">val</code> </label><div>Value to set at given index.</div></div></div>\n\n", arg:["idx", "val"], lines:[44, 44], file:"lib/rbx/tuple.fy"}, ":inspect":{doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>A <code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code> representation of <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", arg:[], lines:[122, 122], file:"lib/tuple.fy"}, ":[]":{doc:"<p>Forwards to <code data-lang=\"fancy\" data-class-ref=\"Tuple\" class=\"class-ref selectable\">Tuple</code>#at:.</p>\n\n<div class=\"doctags\"></div>\n\n", arg:["idx"], lines:[32, 32], file:"lib/tuple.fy"}}}, "Exception":{methods:{}, ancestors:["Exception", "Object", "Kernel"], doc:"<p>Base Exception class.\nAll Exception classes inherit from <code data-lang=\"fancy\" data-class-ref=\"Exception\" class=\"class-ref selectable\">Exception</code>.</p>\n\n<div class=\"doctags\"></div>\n\n", instance_methods:{}}, "NoMethodError":{methods:{}, ancestors:["NoMethodError", "NameError", "StandardError", "Exception", "Object", "Kernel"], doc:"<p>Exception class that gets thrown when a method wasn't found within a class.</p>\n\n<div class=\"doctags\"></div>\n\n", instance_methods:{":method_name":{doc:"<p>Returns the name of the method that was not found as a <code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Name of the method not found (as <code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code>).</div></div></div>\n\n", arg:[], lines:[13, 13], file:"lib/rbx/no_method_error.fy"}}}, "Fancy BreakIteration":{methods:{}, ancestors:["Fancy BreakIteration", "StandardError", "Exception", "Object", "Kernel"], doc:"<p>Raised to break the current iteration.\nIt is rescued by Block#loop.</p>\n\n<p>Example:</p>\n\n<pre><code> 10 times: |i| {\n i println\n if: (i == 3) then: {\n Fancy BreakIteration new raise!\n }\n }\n \"Done!\" println\n</code></pre>\n\n<p>Produces:</p>\n\n<pre><code> 0\n 1\n 2\n 3\n Done!\n</code></pre>\n\n<div class=\"doctags\"></div>\n\n", instance_methods:{}}, "Actor":{methods:{"spawn:":{doc:"<p>Example usage:</p>\n\n<pre><code> Actor spawn: {\n loop: {\n Actor receive println # print all incoming messages\n }\n }\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">block</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> that represents the <code data-lang=\"fancy\" data-class-ref=\"Actor\" class=\"class-ref selectable\">Actor</code>'s code body to be executed in a new <code data-lang=\"fancy\" data-class-ref=\"Thread\" class=\"class-ref selectable\">Thread</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>A new <code data-lang=\"fancy\" data-class-ref=\"Actor\" class=\"class-ref selectable\">Actor</code> running <code data-lang=\"fancy\">block</code> in a seperate <code data-lang=\"fancy\" data-class-ref=\"Thread\" class=\"class-ref selectable\">Thread</code>.</div></div></div>\n\n", arg:["block"], lines:[51, 51], file:"lib/rbx/actor.fy"}}, ancestors:["Actor", "Object", "Kernel"], doc:"<p>Primitive Actor class.\nActors can be sent messages asynchronously. They process incoming messages\n(which can be any object, including Tuples, Arrays, Numbers ...) in a\nfirst-come, first-serve manner.</p>\n\n<p>Actors are used to implement asynchronous and future message sends in Fancy\nusing the <code data-lang=\"fancy\">@</code> and <code data-lang=\"fancy\">@@</code> syntax.</p>\n\n<p>Example usage:</p>\n\n<p> a = Actor spawn: {</p>\n\n<pre><code> loop: {\n match Actor receive {\n case 'hello -&gt; \"Hello World\" println\n case 'quit -&gt;\n \"OK, done!\" println\n break # Quit loop and let actor die\n }\n }\n</code></pre>\n\n<p> }</p>\n\n<p> 10 times: {</p>\n\n<pre><code> a ! 'hello # send 'hello to actor asynchronously\n</code></pre>\n\n<p> }\n a ! 'quit</p>\n\n<div class=\"doctags\"></div>\n\n", instance_methods:{}}, "String":{methods:{}, ancestors:["String", "Fancy Enumerable", "Object", "Enumerable", "Comparable", "Object", "Kernel"], doc:"<p>Strings are sequences of characters and behave as such.\nAll literal Strings within Fancy code are instances of the String\nclass.</p>\n\n<p>They also include <code data-lang=\"fancy\" data-class-ref=\"Fancy\" class=\"class-ref selectable\">Fancy</code> <code data-lang=\"fancy\" data-class-ref=\"Fancy Enumerable\" class=\"class-ref selectable\">Enumerable</code>, which means you can use all the\ncommon sequence methods on them, like +map:+, +select:+ etc.</p>\n\n<div class=\"doctags\"></div>\n\n", instance_methods:{":lines":{doc:"<p>Returns the lines of a <code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code> as an <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> of all the lines in <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", arg:[], lines:[123, 123], file:"lib/string.fy"}, ":eval":{doc:"<p>Evaluates a <code data-lang=\"fancy\">String</code> in the current <code data-lang=\"fancy\">Binding</code> and returns its value.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Value of evaluating <code data-lang=\"fancy\">self</code> as Fancy code.</div></div></div>\n\n", arg:[], lines:[85, 85], file:"lib/rbx/string.fy"}, "==":{doc:"<p>Compares <code data-lang=\"fancy\">self</code> to another <code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code> and returns <code data-lang=\"fancy\">true</code>, if equal, <code data-lang=\"fancy\">false</code> otherwise.</p>\n\n<div class=\"doctags\"></div>\n\n", lines:[139, 139], file:"kernel/common/string.rb"}, ":characters":{doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> of all characters (as <code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code>) in <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", arg:[], lines:[165, 165], file:"lib/string.fy"}, ":words":{doc:"<p>Example:</p>\n\n<pre><code> \"hello world\" words # =&gt; [\"hello\", \"world\"]\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> of all the whitespace seperated words in <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", arg:[], lines:[93, 93], file:"lib/string.fy"}, ":==":{doc:"<p>Compares <code data-lang=\"fancy\">self</code> to another <code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code> and returns <code data-lang=\"fancy\">true</code>, if equal, <code data-lang=\"fancy\">false</code> otherwise.</p>\n\n<div class=\"doctags\"></div>\n\n", lines:[139, 139], file:"kernel/common/string.rb"}, "at:":{doc:"<p>Returns the character (as a <code data-lang=\"fancy\">String</code>) at index <code data-lang=\"fancy\">idx</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">idx</code> </label><div>Index of the character to retrieve.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Character in <code data-lang=\"fancy\">self</code> at position <code data-lang=\"fancy\">idx</code>.</div></div></div>\n\n", arg:["idx"], lines:[59, 59], file:"lib/rbx/string.fy"}, "each:":{doc:"<p>Calls a given <code data-lang=\"fancy\">Block</code> with each character in a <code data-lang=\"fancy\">String</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">block</code> </label><div><code data-lang=\"fancy\">Block</code> to be called for each character in <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", arg:["block"], lines:[49, 49], file:"lib/rbx/string.fy"}, ":character":{doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Fixnum\" class=\"class-ref selectable\">Fixnum</code> (byte / ASCII) value of first character in <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", arg:[], lines:[172, 172], file:"lib/string.fy"}, "split:":{doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">str</code> </label><div><code data-lang=\"fancy\">String</code> where <code data-lang=\"fancy\">self</code> should be split at.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>An <code data-lang=\"fancy\">Array</code> of <code data-lang=\"fancy\">String</code> values in <code data-lang=\"fancy\">self</code> that are seperated by <code data-lang=\"fancy\">str</code>.</div></div></div>\n\n", arg:["str"], lines:[68, 68], file:"lib/rbx/string.fy"}, ":split":{doc:"<p>Splits a string by whitespace.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">Array</code> of all non-whitespace Substrings in <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", arg:[], lines:[77, 77], file:"lib/rbx/string.fy"}, ":lowercase":{doc:"<p>Example:</p>\n\n<pre><code> \"HELLO WORLD\" lowercase # =&gt; \"hello world\"\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Lowercased version of <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", lines:[580, 580], file:"kernel/common/string.rb"}, ":rest":{doc:"<p>Returns a <code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code> containing all but the first character.</p>\n\n<pre><code> \"hello\" rest # =&gt; \"ello\"\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code> containing all but the first character.</div></div></div>\n\n", arg:[], lines:[113, 113], file:"lib/string.fy"}, ":raise!":{doc:"<p>Raises a new <code data-lang=\"fancy\" data-class-ref=\"StandardError\" class=\"class-ref selectable\">StandardError</code> with self as the message.</p>\n\n<div class=\"doctags\"></div>\n\n", arg:[], lines:[101, 101], file:"lib/string.fy"}, ":uppercase":{doc:"<p>Example:</p>\n\n<pre><code> \"hello world\" uppercase # =&gt; \"HELLO WORLD\"\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Uppercased version of <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", lines:[1549, 1549], file:"kernel/common/string.rb"}, "append:":{doc:"<p>Appends another <code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code> onto this <code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code>.</p>\n\n<p>Example usage:\n str = \"hello\"\n str append: \" world!\"\n str # => \"hello world!\"</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">string</code> </label><div>Other <code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code> to append on <code data-lang=\"fancy\">self</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">self</code>, but modified.</div></div></div>\n\n", arg:["string"], lines:[143, 143], file:"lib/rbx/string.fy"}, "from:to:":{doc:"<p>Returns a Substring from <code data-lang=\"fancy\">from</code> to <code data-lang=\"fancy\">to</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">from</code> </label><div>Start index.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">to</code> </label><div>End index.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Substring starting at index <code data-lang=\"fancy\">from</code> and ending at <code data-lang=\"fancy\">to</code>.</div></div></div>\n\n", arg:["from", "to"], lines:[41, 41], file:"lib/rbx/string.fy"}, ":blank?":{doc:"<p>Indicates, if a <code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code> consists only of whitespace.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">true</code> if <code data-lang=\"fancy\">self</code> consists only of whitespace, <code data-lang=\"fancy\">false</code> otherwise.</div></div></div>\n\n", arg:[], lines:[60, 60], file:"lib/string.fy"}, "downcase":{doc:"<p>Example:</p>\n\n<pre><code> \"HELLO WORLD\" lowercase # =&gt; \"hello world\"\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Lowercased version of <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", lines:[580, 580], file:"kernel/common/string.rb"}, ":*":{doc:"<p>Returns a <code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code> that is the num-fold concatenation of itself.</p>\n\n<p>Example:</p>\n\n<pre><code> \"foo\" * 3 # =&gt; \"foofoofoo\"\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">num</code> </label><div>Amount of concatenations to do with <code data-lang=\"fancy\">self</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code> that is the num-fold concatenation of <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", arg:["num"], lines:[78, 78], file:"lib/string.fy"}, "lowercase":{doc:"<p>Example:</p>\n\n<pre><code> \"HELLO WORLD\" lowercase # =&gt; \"hello world\"\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Lowercased version of <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", lines:[580, 580], file:"kernel/common/string.rb"}, "uppercase":{doc:"<p>Example:</p>\n\n<pre><code> \"hello world\" uppercase # =&gt; \"HELLO WORLD\"\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Uppercased version of <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", lines:[1549, 1549], file:"kernel/common/string.rb"}, ":downcase":{doc:"<p>Example:</p>\n\n<pre><code> \"HELLO WORLD\" lowercase # =&gt; \"hello world\"\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Lowercased version of <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", lines:[580, 580], file:"kernel/common/string.rb"}, ":bytes":{doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Fancy\" class=\"class-ref selectable\">Fancy</code> <code data-lang=\"fancy\" data-class-ref=\"Fancy Enumerator\" class=\"class-ref selectable\">Enumerator</code> of all bytes (<code data-lang=\"fancy\" data-class-ref=\"Fixnum\" class=\"class-ref selectable\">Fixnum</code> values) in <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", arg:[], lines:[184, 184], file:"lib/string.fy"}, "upcase":{doc:"<p>Example:</p>\n\n<pre><code> \"hello world\" uppercase # =&gt; \"HELLO WORLD\"\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Uppercased version of <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", lines:[1549, 1549], file:"kernel/common/string.rb"}, ":[]":{doc:"<p>Given an Array of 2 Numbers, it returns the substring between the given indices.\nIf given a Number, returns the character at that index.</p>\n\n<div class=\"doctags\"></div>\n\n", arg:["index"], lines:[24, 24], file:"lib/rbx/string.fy"}, "substitute:with:":{doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">substitution</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code> to replace <code data-lang=\"fancy\">substring</code> with.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">substring</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code> or <code data-lang=\"fancy\" data-class-ref=\"Regexp\" class=\"class-ref selectable\">Regexp</code> to be substituted.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>A new <code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code> where <code data-lang=\"fancy\">substring</code> is substituted by <code data-lang=\"fancy\">substitution</code>.</div></div></div>\n\n", arg:["substring", "substitution"], lines:[164, 164], file:"lib/rbx/string.fy"}, ":<<":{doc:"<p>Appends <code data-lang=\"fancy\">object's</code> <code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code> representation to <code data-lang=\"fancy\">self</code>.</p>\n\n<p>Example:</p>\n\n<pre><code> str = \"hello\"\n str &lt;&lt; \" \"\n str &lt;&lt; 42\n str # =&gt; \"hello 42\"\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">object</code> </label><div>An <code data-lang=\"fancy\" data-class-ref=\"Object\" class=\"class-ref selectable\">Object</code> who's <code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code> representation will be appended to <code data-lang=\"fancy\">self</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">self</code>, but modified.</div></div></div>\n\n", arg:["object"], lines:[140, 140], file:"lib/string.fy"}, "relative_path:":{doc:"<p>Example:</p>\n\n<pre><code> __FILE__ relative: \"../foo/bar\"\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">path</code> </label><div>Relative path to <code data-lang=\"fancy\">self</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Absolute <code data-lang=\"fancy\" data-class-ref=\"File\" class=\"class-ref selectable\">File</code> path relative to <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", arg:["path"], lines:[199, 199], file:"lib/string.fy"}, ":upcase":{doc:"<p>Example:</p>\n\n<pre><code> \"hello world\" uppercase # =&gt; \"HELLO WORLD\"\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Uppercased version of <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", lines:[1549, 1549], file:"kernel/common/string.rb"}, ":whitespace?":{doc:"<p>Indicates, if a <code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code> is empty or a single whitespace character.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">true</code>, if <code data-lang=\"fancy\">self</code> consists only of a single whitespace character or is empty, <code data-lang=\"fancy\">false</code> otherwise.</div></div></div>\n\n", arg:[], lines:[50, 50], file:"lib/string.fy"}, ":skip_leading_indentation":{doc:"<p>Remove leading white space for multi-line strings.\nThis method expects the first character to be an line return.</p>\n\n<div class=\"doctags\"></div>\n\n", arg:[], lines:[148, 148], file:"lib/string.fy"}, ":++":{doc:"<p>Concatenate <code data-lang=\"fancy\">self</code> with another Object's <code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code> representation.</p>\n\n<pre><code> \"foo\\\342\200\235 ++ 42 # =&gt; \\\342\200\235foo42\\\342\200\235\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">other</code> </label><div>Object to concatenate <code data-lang=\"fancy\">self</code> with as a <code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Concatenation of <code data-lang=\"fancy\">self</code> with <code data-lang=\"fancy\">other</code>.</div></div></div>\n\n", arg:["other"], lines:[40, 40], file:"lib/string.fy"}, "includes?:":{doc:"<p>Indicates if a given substring is in <code data-lang=\"fancy\">self</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">substring</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code> to be checked if it's in <code data-lang=\"fancy\">self</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">true</code> if <code data-lang=\"fancy\">substring</code> is in <code data-lang=\"fancy\">self</code>, <code data-lang=\"fancy\">false</code> otherwise.</div></div></div>\n\n", arg:["substring"], lines:[154, 154], file:"lib/rbx/string.fy"}, ":eval_global":{doc:"<p>Same as <code data-lang=\"fancy\">String#eval</code> but evaluates <code data-lang=\"fancy\">self</code> in the global binding.</p>\n\n<div class=\"doctags\"></div>\n\n", arg:[], lines:[93, 93], file:"lib/rbx/string.fy"}}}, "KVO":{methods:{}, ancestors:["KVO", "Object", "Kernel"], doc:"<p>Key-Value Observing Mixin class.\nInclude this Class into any class to add support for Key-Value Observing.\nInspired by Objective-C's KVO, but using <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code>s, as it fits nicer\nwith Fancy's semantics.</p>\n\n<p>Example:</p>\n\n<pre><code> class Person {\n include: KVO\n read_write_slots: ('name, 'age, 'city)\n }\n\n tom = Person new tap: @{\n name: \"Tom Cruise\"\n age: 55\n city: \"Hollywood\"\n }\n\n tom observe: 'name with: |new old| {\n new println\n }\n tom name: \"Tommy Cruise\" # will cause \"Tommy Cruise\" to be printed\n tom age: 56 # No observer Blocks defined, so nothing will happen\n</code></pre>\n\n<div class=\"doctags\"></div>\n\n", instance_methods:{"observe:with:":{doc:"<p>Registers a new observer <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> for <code data-lang=\"fancy\">slotname</code> in <code data-lang=\"fancy\">self</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">block</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> to be called with old and new value of <code data-lang=\"fancy\">slotname</code> in <code data-lang=\"fancy\">self</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">slotname</code> </label><div>Name of slot to be observed with <code data-lang=\"fancy\">block</code>.</div></div></div>\n\n", arg:["slotname", "block"], lines:[68, 68], file:"lib/kvo.fy"}, "observe_removal:with:":{doc:"<p>Registers a new removal observer <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> for collection named <code data-lang=\"fancy\">slotname</code> in <code data-lang=\"fancy\">self</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">block</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> to be called with value removed from collection named <code data-lang=\"fancy\">slotname</code> in <code data-lang=\"fancy\">self</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">slotname</code> </label><div>Name of collection slot to be observed with <code data-lang=\"fancy\">block</code>.</div></div></div>\n\n", arg:["slotname", "block"], lines:[90, 90], file:"lib/kvo.fy"}, "observe_insertion:with:":{doc:"<p>Registers a new insertion observer <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> for collection named <code data-lang=\"fancy\">slotname</code> in <code data-lang=\"fancy\">self</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">block</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> to be called with value inserted in collection named <code data-lang=\"fancy\">slotname</code> in <code data-lang=\"fancy\">self</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">slotname</code> </label><div>Name of collection slot to be observed with <code data-lang=\"fancy\">block</code>.</div></div></div>\n\n", arg:["slotname", "block"], lines:[79, 79], file:"lib/kvo.fy"}}}, "Fancy Package RubyDependency":{methods:{}, ancestors:["Fancy Package RubyDependency", "Object", "Kernel"], doc:"<p>Same as <code data-lang=\"fancy\" data-class-ref=\"Fancy\" class=\"class-ref selectable\">Fancy</code> <code data-lang=\"fancy\" data-class-ref=\"Fancy Package\" class=\"class-ref selectable\">Package</code> <code data-lang=\"fancy\" data-class-ref=\"Fancy Package Dependency\" class=\"class-ref selectable\">Dependency</code>, just for rubygem packages.</p>\n\n<div class=\"doctags\"></div>\n\n", instance_methods:{"initialize:":{doc:"<p>Forward to message initialize:version:</p>\n\n<div class=\"doctags\"></div>\n\n", arg:["@gem_name"], lines:[22, 22], file:"lib/package/dependency.fy"}, ":install":{doc:"<p>Installs the RubyDependency (a RubyGem) via rbx -S gem on the system.</p>\n\n<div class=\"doctags\"></div>\n\n", arg:[], lines:[29, 29], file:"lib/package/dependency.fy"}}}, "Number":{methods:{}, ancestors:["Number", "Object", "Kernel"], doc:"<p>Number is a mixin-class for all number values (integer &amp; floats for\nnow).</p>\n\n<div class=\"doctags\"></div>\n\n", instance_methods:{":even?":{doc:"<p>Indicates, if a Number is even.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">true</code>, if <code data-lang=\"fancy\">self</code> is even, <code data-lang=\"fancy\">false</code> otherwise.</div></div></div>\n\n", arg:[], lines:[177, 177], file:"lib/number.fy"}, "upto:in_steps_of:do:":{doc:"<p>Calls <code data-lang=\"fancy\">block</code> every <code data-lang=\"fancy\">steps</code> steps between <code data-lang=\"fancy\">self</code> and <code data-lang=\"fancy\">num</code> with the current <code data-lang=\"fancy\" data-class-ref=\"Number\" class=\"class-ref selectable\">Number</code>.\nExpects <code data-lang=\"fancy\">num</code> to be greater or equal to <code data-lang=\"fancy\">self</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">block</code> </label><div>A <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> that should be called every <code data-lang=\"fancy\">steps</code> steps between <code data-lang=\"fancy\">self</code> and <code data-lang=\"fancy\">num</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">num</code> </label><div>Maximum <code data-lang=\"fancy\" data-class-ref=\"Number\" class=\"class-ref selectable\">Number</code> to call <code data-lang=\"fancy\">block</code> with.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">steps</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Number\" class=\"class-ref selectable\">Number</code> of numbers to skip each step.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">self</div></div></div>\n\n\n<p></code></p>\n", arg:["num", "steps", "block"], lines:[53, 53], file:"lib/number.fy"}, ":cubed":{doc:"<p>Returns the cubed value of a Number.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Cubed value of <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", arg:[], lines:[143, 143], file:"lib/number.fy"}, "downto:":{doc:"<p>Returns an Array with Numbers starting at <code data-lang=\"fancy\">self</code> and going down to <code data-lang=\"fancy\">num</code>.\nExpects <code data-lang=\"fancy\">num</code> to be smaller or equal to <code data-lang=\"fancy\">self</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">num</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Number\" class=\"class-ref selectable\">Number</code> to create an <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> down to.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> containing numbers from <code data-lang=\"fancy\">self</code> down to <code data-lang=\"fancy\">num</code>.</div></div></div>\n\n", arg:["num"], lines:[70, 70], file:"lib/number.fy"}, "downto:in_steps_of:do:":{doc:"<p>Calls <code data-lang=\"fancy\">block</code> every <code data-lang=\"fancy\">steps</code> steps between <code data-lang=\"fancy\">self</code> and <code data-lang=\"fancy\">num</code> with the current <code data-lang=\"fancy\" data-class-ref=\"Number\" class=\"class-ref selectable\">Number</code>.\nExpects <code data-lang=\"fancy\">num</code> to be smaller or equal to <code data-lang=\"fancy\">self</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">block</code> </label><div>A <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> that should be called every <code data-lang=\"fancy\">steps</code> steps between <code data-lang=\"fancy\">self</code> and <code data-lang=\"fancy\">num</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">num</code> </label><div>Minimum <code data-lang=\"fancy\" data-class-ref=\"Number\" class=\"class-ref selectable\">Number</code> to call <code data-lang=\"fancy\">block</code> with.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">steps</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Number\" class=\"class-ref selectable\">Number</code> of numbers to skip each step.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">self</div></div></div>\n\n\n<p></code></p>\n", arg:["num", "steps", "block"], lines:[108, 108], file:"lib/number.fy"}, "upto:":{doc:"<p>Returns an Array with Numbers starting at <code data-lang=\"fancy\">self</code> and going up to <code data-lang=\"fancy\">num</code>.\nExpects <code data-lang=\"fancy\">num</code> to be greater or equal to <code data-lang=\"fancy\">self</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">num</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Number\" class=\"class-ref selectable\">Number</code> to create an <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> up to.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> containing numbers from <code data-lang=\"fancy\">self</code> to <code data-lang=\"fancy\">num</code>.</div></div></div>\n\n", arg:["num"], lines:[16, 16], file:"lib/number.fy"}, ":negate":{doc:"<p>Negates a Number (-1 becomes 1 and vice versa).</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Negated value of <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", arg:[], lines:[167, 167], file:"lib/number.fy"}, ":abs":{doc:"<p>Returns the absolute (positive) value of a Number.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Absolute (positive) value of <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", arg:[], lines:[158, 158], file:"lib/number.fy"}, "min:":{doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Minimum value of <code data-lang=\"fancy\">self</code> and <code data-lang=\"fancy\">other</code>.</div></div></div>\n\n", arg:["other"], lines:[212, 212], file:"lib/number.fy"}, "upto:do:":{doc:"<p>Calls <code data-lang=\"fancy\">block</code> with each <code data-lang=\"fancy\" data-class-ref=\"Number\" class=\"class-ref selectable\">Number</code> between <code data-lang=\"fancy\">self</code> and <code data-lang=\"fancy\">num</code>.\nExpects <code data-lang=\"fancy\">num</code> to be greater or equal to <code data-lang=\"fancy\">self</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">block</code> </label><div>A <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> that should be called with each <code data-lang=\"fancy\" data-class-ref=\"Number\" class=\"class-ref selectable\">Number</code> between <code data-lang=\"fancy\">self</code> and <code data-lang=\"fancy\">num</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">num</code> </label><div>Maximum <code data-lang=\"fancy\" data-class-ref=\"Number\" class=\"class-ref selectable\">Number</code> to call <code data-lang=\"fancy\">block</code> with.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">self</div></div></div>\n\n\n<p></code></p>\n", arg:["num", "block"], lines:[34, 34], file:"lib/number.fy"}, "max:":{doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Maximum value of <code data-lang=\"fancy\">self</code> and <code data-lang=\"fancy\">other</code>.</div></div></div>\n\n", arg:["other"], lines:[200, 200], file:"lib/number.fy"}, ":odd?":{doc:"<p>Indicates, if a Number is odd.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">true</code>, if <code data-lang=\"fancy\">self</code> is odd, <code data-lang=\"fancy\">false</code> otherwise.</div></div></div>\n\n", arg:[], lines:[187, 187], file:"lib/number.fy"}, ":squared":{doc:"<p>Returns the square of a Number.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Squared value of <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", arg:[], lines:[123, 123], file:"lib/number.fy"}, ":doubled":{doc:"<p>Returns the double value of a Number.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Doubled value of <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", arg:[], lines:[133, 133], file:"lib/number.fy"}, "downto:do:":{doc:"<p>Calls <code data-lang=\"fancy\">block</code> with each <code data-lang=\"fancy\" data-class-ref=\"Number\" class=\"class-ref selectable\">Number</code> between <code data-lang=\"fancy\">self</code> and <code data-lang=\"fancy\">num</code>.\nExpects <code data-lang=\"fancy\">num</code> to be smaller or equal to <code data-lang=\"fancy\">self</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">block</code> </label><div>A <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> that should be called with each <code data-lang=\"fancy\" data-class-ref=\"Number\" class=\"class-ref selectable\">Number</code> between <code data-lang=\"fancy\">self</code> and <code data-lang=\"fancy\">num</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">num</code> </label><div>Minimum <code data-lang=\"fancy\" data-class-ref=\"Number\" class=\"class-ref selectable\">Number</code> to call <code data-lang=\"fancy\">block</code> with.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">self</div></div></div>\n\n\n<p></code></p>\n", arg:["num", "block"], lines:[89, 89], file:"lib/number.fy"}}}, "Block":{methods:{}, ancestors:["Rubinius BlockEnvironment", "Object", "Kernel"], doc:"<p>The Block class (also BlockEnvironment) is the class of all\nBlock-literal values.\nA Block is a piece of unevaluated code, that can be passed around as\nany other value and evaluated by calling the +call+ or +call:+ methods.</p>\n\n<p>Blocks also work properly with their enclosing environment in that\nthey preserve any local variables that get used within the Block,\neven if the context in which they got defined has been destroyed.\n=> Blocks are proper closures.</p>\n\n<p>See: http://en.wikipedia.org/wiki/Closure_(computer_science) for\nmore information.</p>\n\n<div class=\"doctags\"></div>\n\n", instance_methods:{":to_hash":{doc:"<p>Creates and returns a new <code data-lang=\"fancy\" data-class-ref=\"Hash\" class=\"class-ref selectable\">Hash</code> with keys and values defined dynamically in <code data-lang=\"fancy\">self</code>.\nSimilar to <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> <code data-lang=\"fancy\" data-ruby-singleton-method-ref=\"object\" data-owner-class=\"Block\" class=\"ruby-singleton-method-ref selectable\">object</code> but returning a <code data-lang=\"fancy\" data-class-ref=\"Hash\" class=\"class-ref selectable\">Hash</code> instead of an <code data-lang=\"fancy\" data-class-ref=\"Object\" class=\"class-ref selectable\">Object</code></p>\n\n<p>Example:</p>\n\n<pre><code> o = {\n something: \"foo bar baz\"\n with: 42\n } to_hash # =&gt; &lt;['something =&gt; \"foo bar baz\", 'with =&gt; 42]&gt;\n</code></pre>\n\n<div class=\"doctags\"></div>\n\n", arg:[], lines:[171, 171], file:"lib/block.fy"}, "while_nil:":{doc:"<p>Executes a given <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> while self evals to <code data-lang=\"fancy\">nil</code> or <code data-lang=\"fancy\">false</code>.</p>\n\n<p>Example:</p>\n\n<pre><code> i = 0\n { i &gt;= 10 } while_false: {\n i println\n i = i + 1\n }\n</code></pre>\n\n<div class=\"doctags\"></div>\n\n", arg:["block"], lines:[29, 29], file:"lib/block.fy"}, "call:with_receiver:":{doc:"<p>Same as <code data-lang=\"fancy\">call_with_receiver:</code> but passing along arguments to the <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code>.</p>\n\n<p>Example:</p>\n\n<pre><code> r1 = [1,2,3]\n r2 = \"hello world\"\n b = |arg| { self to_s + arg }\n b call: [\"foo\"] with_receiver: r1 # =&gt; \"123foo\"\n b call: [\"foo\"] with_receiver: r2 # =&gt; \"hello worldfoo\"\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">receiver</code> </label><div>Receiver (value of <code data-lang=\"fancy\">self</code>) when calling the <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">args</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> of arguments passed to <code data-lang=\"fancy\">self</code> for invocation.</div></div></div>\n\n", arg:["args", "receiver"], lines:[93, 93], file:"lib/rbx/block.fy"}, ":receiver":{doc:"<p>Returns the receiver of the <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> (value for <code data-lang=\"fancy\">self</code>)</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Receiver object of a <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code>.</div></div></div>\n\n", arg:[], lines:[38, 38], file:"lib/rbx/block.fy"}, ":to_a":{doc:"<p>Creates and returns a new <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> with values defined dynamically in <code data-lang=\"fancy\">self</code>.\nSimilar to <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> <code data-lang=\"fancy\" data-ruby-singleton-method-ref=\"to_hash\" data-owner-class=\"Block\" class=\"ruby-singleton-method-ref selectable\">to_hash</code> but returning an <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> instead of a <code data-lang=\"fancy\" data-class-ref=\"Hash\" class=\"class-ref selectable\">Hash</code></p>\n\n<p>Example:</p>\n\n<pre><code> a = {\n something: \"foo bar baz\"\n with: 42\n something; else\n } to_a # =&gt; [['something, \"foo bar baz\"], ['with, 42], 'something, 'else]\n</code></pre>\n\n<div class=\"doctags\"></div>\n\n", arg:[], lines:[205, 205], file:"lib/block.fy"}, "until_do:":{doc:"<p>Calls a given Block as long as <code data-lang=\"fancy\">self</code> yields <code data-lang=\"fancy\">nil</code> or <code data-lang=\"fancy\">false</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">block</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> to be called while <code data-lang=\"fancy\">self</code> yields <code data-lang=\"fancy\">nil</code> or <code data-lang=\"fancy\">false</code>.</div></div></div>\n\n", arg:["block"], lines:[59, 59], file:"lib/block.fy"}, "while_do:":{doc:"<p>Calls <code data-lang=\"fancy\">block</code> while calling <code data-lang=\"fancy\">self</code> yields a <code data-lang=\"fancy\">true-ish</code> value.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">block</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> to call while <code data-lang=\"fancy\">self</code> yields <code data-lang=\"fancy\">true</code>.</div></div></div>\n\n", arg:["block"], lines:[48, 48], file:"lib/block.fy"}, ":to_proc":{doc:"<p>Turns a <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> into a Ruby Proc object.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Ruby Proc representing <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", arg:[], lines:[102, 102], file:"lib/rbx/block.fy"}, ":||":{doc:"<p>Short-circuiting || (boolean OR).</p>\n\n<div class=\"doctags\"></div>\n\n", arg:["other_block"], lines:[87, 87], file:"lib/block.fy"}, "until:":{doc:"<p>Calls <code data-lang=\"fancy\">self</code> while <code data-lang=\"fancy\">block</code> yields <code data-lang=\"fancy\">nil</code> or <code data-lang=\"fancy\">false</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">block</code> </label><div>Condition <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> to be called to determine if <code data-lang=\"fancy\">self</code> should be called.</div></div></div>\n\n", arg:["block"], lines:[69, 69], file:"lib/block.fy"}, "while_true:":{doc:"<p>Calls <code data-lang=\"fancy\">block</code> while calling <code data-lang=\"fancy\">self</code> yields a <code data-lang=\"fancy\">true-ish</code> value.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">block</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> to call while <code data-lang=\"fancy\">self</code> yields <code data-lang=\"fancy\">true</code>.</div></div></div>\n\n", arg:["block"], lines:[48, 48], file:"lib/block.fy"}, ":[]":{doc:"<p>Same as Block#call:</p>\n\n<div class=\"doctags\"></div>\n\n", arg:["args"], lines:[137, 137], file:"lib/block.fy"}, "if:":{doc:"<p>Calls <code data-lang=\"fancy\">self</code> if <code data-lang=\"fancy\">obj</code> is true-ish.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">obj</code> </label><div>Condition object to determine if <code data-lang=\"fancy\">self</code> should be called.</div></div></div>\n\n", arg:["obj"], lines:[99, 99], file:"lib/block.fy"}, ":to_hash_deep":{doc:"<p>Creates and returns a new <code data-lang=\"fancy\" data-class-ref=\"Hash\" class=\"class-ref selectable\">Hash</code> with keys and values defined dynamically in <code data-lang=\"fancy\">self</code>.\nSimilar to <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> <code data-lang=\"fancy\" data-ruby-singleton-method-ref=\"to_hash\" data-owner-class=\"Block\" class=\"ruby-singleton-method-ref selectable\">to_hash</code> but converting any value that's a <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> to a <code data-lang=\"fancy\" data-class-ref=\"Hash\" class=\"class-ref selectable\">Hash</code> as well.</p>\n\n<p>Example:</p>\n\n<pre><code> o = {\n something: \"foo bar baz\"\n with: 42\n and: {\n another: 'field\n }\n } to_hash_deep # =&gt; &lt;['something =&gt; \"foo bar baz\", 'with =&gt; 42, 'and =&gt; &lt;['another =&gt; 'field]&gt;]&gt;\n</code></pre>\n\n<div class=\"doctags\"></div>\n\n", arg:[], lines:[189, 189], file:"lib/block.fy"}, ":to_object":{doc:"<p>Creates and returns a new <code data-lang=\"fancy\" data-class-ref=\"Object\" class=\"class-ref selectable\">Object</code> with slots defined dynamically in <code data-lang=\"fancy\">self</code>.\nLooks and feels similar to Javascript object literals.</p>\n\n<p>Example:</p>\n\n<pre><code> o = {\n something: \"foo bar baz\"\n with: 42\n } to_object\n\n o something # =&gt; \"foo bar baz\"\n o with # =&gt; 42\n</code></pre>\n\n<div class=\"doctags\"></div>\n\n", arg:[], lines:[154, 154], file:"lib/block.fy"}, "call_with_receiver:":{doc:"<p>Calls a <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> with <code data-lang=\"fancy\">receiver</code> as the receiver (referenced by <code data-lang=\"fancy\">self</code> within the Block).</p>\n\n<p>Example:</p>\n\n<pre><code> r1 = [1,2,3]\n r2 = \"hello world\"\n b = { self class }\n b call_with_receiver: r1 # =&gt; Array\n b call_with_receiver: r2 # =&gt; String\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">receiver</code> </label><div>Receiver (value of <code data-lang=\"fancy\">self</code>) when calling the <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code>.</div></div></div>\n\n", arg:["receiver"], lines:[71, 71], file:"lib/rbx/block.fy"}, ":&&":{doc:"<p>Short-circuiting &amp;&amp; (boolean AND).</p>\n\n<div class=\"doctags\"></div>\n\n", arg:["other_block"], lines:[80, 80], file:"lib/block.fy"}, "unless:":{doc:"<p>Opposite of Block#if:. Calls <code data-lang=\"fancy\">self</code> if <code data-lang=\"fancy\">obj</code> is false-ish.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">obj</code> </label><div>Condition object to determine if <code data-lang=\"fancy\">self</code> should not be called.</div></div></div>\n\n", arg:["obj"], lines:[109, 109], file:"lib/block.fy"}, "while_false:":{doc:"<p>Executes a given <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> while self evals to <code data-lang=\"fancy\">nil</code> or <code data-lang=\"fancy\">false</code>.</p>\n\n<p>Example:</p>\n\n<pre><code> i = 0\n { i &gt;= 10 } while_false: {\n i println\n i = i + 1\n }\n</code></pre>\n\n<div class=\"doctags\"></div>\n\n", arg:["block"], lines:[29, 29], file:"lib/block.fy"}, ":===":{doc:"<p>Matches a <code data-lang=\"fancy\">Block</code> against another object by calling <code data-lang=\"fancy\">self</code> with <code data-lang=\"fancy\">val</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Value of calling <code data-lang=\"fancy\">self</code> with <code data-lang=\"fancy\">val</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">val</code> </label><div>Other object to match <code data-lang=\"fancy\">self</code> against.</div></div></div>\n\n", arg:["val"], lines:[121, 121], file:"lib/block.fy"}, "receiver:":{doc:"<p>Sets the receiver (value for <code data-lang=\"fancy\">self</code>) of a <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">recv</code> </label><div>New receiver object for a <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code>.</div></div></div>\n\n", arg:["recv"], lines:[47, 47], file:"lib/rbx/block.fy"}}}, "Float":{methods:{}, ancestors:["Float", "Number", "Object", "Precision", "Numeric", "Comparable", "Object", "Kernel"], doc:"<p>Standard class for floating point number values in Fancy.</p>\n\n<div class=\"doctags\"></div>\n\n", instance_methods:{}}, "Fancy MessageSink":{methods:{}, ancestors:["Fancy MessageSink", "BasicObject", "Object", "Kernel"], doc:"<p>A MessageSink just swallows all messages that are sent to it.</p>\n\n<div class=\"doctags\"></div>\n\n", instance_methods:{"unknown_message:with_params:":{doc:"<p><code data-lang=\"fancy\">m</code> Message sent to <code data-lang=\"fancy\">self</code>.\n<code data-lang=\"fancy\">p</code> <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> of parameters sent along with <code data-lang=\"fancy\">m</code>.</p>\n\n<p>Catches all messages and arguments and simply always returns <code data-lang=\"fancy\">self</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", arg:["m", "p"], lines:[16, 16], file:"lib/message_sink.fy"}}}, "FalseClass":{methods:{}, ancestors:["FalseClass", "ImmediateValue", "Object", "Kernel"], doc:"<p>FalseClass. The class of the singleton <code data-lang=\"fancy\">false</code> value.</p>\n\n<div class=\"doctags\"></div>\n\n", instance_methods:{":not":{doc:"<p>Boolean negation of <code data-lang=\"fancy\">false</code> => <code data-lang=\"fancy\">true</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">true</div></div></div>\n\n\n<p></code></p>\n", arg:[], lines:[62, 62], file:"lib/false_class.fy"}, "if_true:":{doc:"<p>Returns <code data-lang=\"fancy\">nil</code>.</p>\n\n<div class=\"doctags\"></div>\n\n", arg:["block"], lines:[14, 14], file:"lib/false_class.fy"}, "if_true:else:":{doc:"<p>Calls <code data-lang=\"fancy\">else_block</code>.</p>\n\n<div class=\"doctags\"></div>\n\n", arg:["then_block", "else_block"], lines:[19, 19], file:"lib/false_class.fy"}, ":to_a":{doc:"<p>Returns an empty <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code>.</p>\n\n<div class=\"doctags\"></div>\n\n", arg:[], lines:[52, 52], file:"lib/false_class.fy"}, ":to_s":{doc:"<p>Returns <code data-lang=\"fancy\">false</code> as a <code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code>.</p>\n\n<div class=\"doctags\"></div>\n\n", arg:[], lines:[45, 45], file:"lib/false_class.fy"}, ":false?":{doc:"<p>Returns <code data-lang=\"fancy\">true</code>.</p>\n\n<div class=\"doctags\"></div>\n\n", arg:[], lines:[40, 40], file:"lib/false_class.fy"}, ":inspect":{doc:"<p>Returns <code data-lang=\"fancy\">false</code> as a <code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code>.</p>\n\n<div class=\"doctags\"></div>\n\n", arg:[], lines:[45, 45], file:"lib/false_class.fy"}}}, "Fancy Documentation RDiscount":{methods:{"rdiscount:":{doc:"<p>Format string as HTML using RDiscount ruby gem.</p>\n\n<div class=\"doctags\"></div>\n\n", arg:["doc"], lines:[123, 123], file:"lib/documentation.fy"}}, ancestors:["Fancy Documentation RDiscount", "Object", "Kernel"], doc:"<p>A documentation formatter using ruby's RDiscount markdown</p>\n\n<div class=\"doctags\"></div>\n\n", instance_methods:{}}, "TCPServer":{methods:{}, ancestors:["TCPServer", "Socket ListenAndAccept", "IO Socketable", "TCPSocket", "IPSocket", "BasicSocket", "IO", "IOMixin", "Object", "Unmarshalable", "File Constants", "Enumerable", "Object", "Kernel"], doc:"<p>TCP Server</p>\n\n<div class=\"doctags\"></div>\n\n", instance_methods:{}}, "Object":{methods:{}, ancestors:["Object", "Kernel"], doc:"<p>Root class of Fancy's class hierarchy.\nAll classes inherit from Object.</p>\n\n<div class=\"doctags\"></div>\n\n", instance_methods:{"send_async:with_params:":{doc:"<p>Sends <code data-lang=\"fancy\">message</code> with <code data-lang=\"fancy\">params</code> to <code data-lang=\"fancy\">self</code> asynchronously and immediately returns <code data-lang=\"fancy\">nil</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">params</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> of parameters as part of sending <code data-lang=\"fancy\">message</code> asynchronously to <code data-lang=\"fancy\">self</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">message</code> </label><div>Message to be sent asynchronously to <code data-lang=\"fancy\">self</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">nil</div></div></div>\n\n\n<p></code></p>\n", arg:["message", "params"], lines:[525, 525], file:"lib/object.fy"}, "if_false:else:":{doc:"<p>Calls <code data-lang=\"fancy\">else_block</code> (default behaviour).</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">then_block</code> </label><div>Does not get called (default behaviour).</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">else_block</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> to be called.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Value of calling <code data-lang=\"fancy\">else_block</code>.</div></div></div>\n\n", arg:["then_block", "else_block"], lines:[104, 104], file:"lib/object.fy"}, ":break":{doc:"<p>Breaks / Stops current iteration.</p>\n\n<div class=\"doctags\"></div>\n\n", arg:[], lines:[433, 433], file:"lib/object.fy"}, ":to_enum":{doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Fancy\" class=\"class-ref selectable\">Fancy</code> <code data-lang=\"fancy\" data-class-ref=\"Fancy Enumerator\" class=\"class-ref selectable\">Enumerator</code> for <code data-lang=\"fancy\">self</code> using 'each: for iteration.</div></div></div>\n\n", arg:[], lines:[155, 155], file:"lib/object.fy"}, "returning:do:":{doc:"<p>Returns <code data-lang=\"fancy\">value</code> after calling <code data-lang=\"fancy\">block</code> with it.\nUseful for returning some object after using it, e.g.:</p>\n\n<pre><code> # this will return [1,2]\n returning: [] do: |arr| {\n arr &lt;&lt; 1\n arr &lt;&lt; 2\n }\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">block</code> </label><div>A <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> that gets called with <code data-lang=\"fancy\">value</code> before returning <code data-lang=\"fancy\">value</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">value</code> </label><div>Value that gets returned at the end.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">value</div></div></div>\n\n\n<p></code></p>\n", arg:["value", "block"], lines:[348, 348], file:"lib/object.fy"}, ":to_a":{doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> representation of <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", arg:[], lines:[139, 139], file:"lib/object.fy"}, "do:while:":{doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">cond_block</code> </label><div>Condition <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> used to determine if <code data-lang=\"fancy\">body_block@</code> should be called again.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">body_block</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> to be called at least once and as long as <code data-lang=\"fancy\">cond_block</code> yields a true-ish value.</div></div></div>\n\n", arg:["body_block", "cond_block"], lines:[261, 261], file:"lib/object.fy"}, "while:do:":{doc:"<p>Same as:\ncond_block while_do: body_block</p>\n\n<div class=\"doctags\"></div>\n\n", arg:["cond_block", "body_block"], lines:[243, 243], file:"lib/object.fy"}, "next:":{doc:"<p>Returns <code data-lang=\"fancy\">value</code> for current iteration and skip to the next one.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">value</code> </label><div>Value for next iteration.</div></div></div>\n\n", arg:["value"], lines:[425, 425], file:"lib/object.fy"}, ":?":{doc:"<p>Calls #value on <code data-lang=\"fancy\">future</code>. Shortcut method.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">future</code> </label><div>Future object to get the value from.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Result of calling #value on <code data-lang=\"fancy\">future</code>.</div></div></div>\n\n", arg:["future"], lines:[391, 391], file:"lib/object.fy"}, ":&&":{doc:"<p>Boolean conjunction.\nIf <code data-lang=\"fancy\">self</code> and <code data-lang=\"fancy\">other</code> are both true-ish (non-nil, non-false), returns <code data-lang=\"fancy\">other</code>.\nIf <code data-lang=\"fancy\">other</code> is a <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code>, calls it and returns its return value.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">other</code> </label><div>Object or <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> (for short-circuit evaluation) to compare <code data-lang=\"fancy\">self</code> to.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">other</code> if both <code data-lang=\"fancy\">self</code> and <code data-lang=\"fancy\">other</code> are true-ish, <code data-lang=\"fancy\">self</code> otherwise.</div></div></div>\n\n", arg:["other"], lines:[183, 183], file:"lib/object.fy"}, "get_slots:":{doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">slots</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> of slot names to retrieve from <code data-lang=\"fancy\">self</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> of slot values of slot names passed in via <code data-lang=\"fancy\">slots</code>.</div></div></div>\n\n", arg:["slots"], lines:[570, 570], file:"lib/object.fy"}, ":actor":{doc:"<p>Returns the Object's actor.\nIf none exists at this moment, a new one will be created\nand starts running in the background.</p>\n\n<div class=\"doctags\"></div>\n\n", arg:[], lines:[501, 501], file:"lib/object.fy"}, "loop:":{doc:"<p>Infinitely calls the block (loops).</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">block</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> to be called endlessly (loop).</div></div></div>\n\n", arg:["block"], lines:[26, 26], file:"lib/object.fy"}, ":dclone":{doc:"<p>Returns a deep clone of self using Ruby's Marshal class.</p>\n\n<div class=\"doctags\"></div>\n\n", arg:[], lines:[19, 19], file:"lib/rbx/object.fy"}, "if_true:":{doc:"<p>Calls the <code data-lang=\"fancy\">block</code> (default behaviour).</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">block</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> to be called.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Value of calling <code data-lang=\"fancy\">block</code> with <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", arg:["block"], lines:[70, 70], file:"lib/object.fy"}, "if_true:else:":{doc:"<p>Calls the <code data-lang=\"fancy\">then_block</code> (default behaviour).</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">then_block</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> to be called.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">else_block</code> </label><div>Does not get called (default behaviour).</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Value of calling <code data-lang=\"fancy\">then_block</code> with <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", arg:["then_block", "else_block"], lines:[83, 83], file:"lib/object.fy"}, "copy_slots:from:":{doc:"<p>Copies slots from <code data-lang=\"fancy\">object</code> to <code data-lang=\"fancy\">self</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">slots</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Fancy\" class=\"class-ref selectable\">Fancy</code> <code data-lang=\"fancy\" data-class-ref=\"Fancy Enumerable\" class=\"class-ref selectable\">Enumerable</code> of slot names to copy from <code data-lang=\"fancy\">object</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">object</code> </label><div>Target <code data-lang=\"fancy\" data-class-ref=\"Object\" class=\"class-ref selectable\">Object</code> to copy slots from.</div></div></div>\n\n", arg:["slots", "object"], lines:[549, 549], file:"lib/object.fy"}, "do:":{doc:"<p>Helper method that calls <code data-lang=\"fancy\">block</code> with <code data-lang=\"fancy\">self</code> as the receiver.\nThis allows message cascading like code, e.g.:</p>\n\n<pre><code> some_complex_object do: {\n method_1: arg1\n method_2: arg2\n method_3: arg3\n }\n\n # this is the same as:\n some_complex_object method_1: arg1\n some_complex_object method_2: arg2\n some_complex_object method_3: arg3\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">block</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> to be called in the context of <code data-lang=\"fancy\">self</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", arg:["block"], lines:[606, 606], file:"lib/object.fy"}, "send_async:":{doc:"<p>Forward to message send_async:with_params:</p>\n\n<div class=\"doctags\"></div>\n\n", arg:["message"], lines:[516, 516], file:"lib/object.fy"}, "receive_message:with_params:":{doc:"<p>Dynamically sends a given message with parameters to <code data-lang=\"fancy\">self</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">params</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> of parameters used with <code data-lang=\"fancy\">message</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">message</code> </label><div>Name of message to be sent to <code data-lang=\"fancy\">self</code> dynamically.</div></div></div>\n\n", arg:["message", "params"], lines:[112, 112], file:"lib/rbx/object.fy"}, ":next":{doc:"<p>Skip to the next iteration.</p>\n\n<div class=\"doctags\"></div>\n\n", arg:[], lines:[415, 415], file:"lib/object.fy"}, ":nil?":{doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">false</code>.</div></div></div>\n\n", arg:[], lines:[115, 115], file:"lib/object.fy"}, "receive_message:":{doc:"<p>Dynamically sends a given message (without parameters) to <code data-lang=\"fancy\">self</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">message</code> </label><div>Name of message to be sent to <code data-lang=\"fancy\">self</code> dynamically.</div></div></div>\n\n", arg:["message"], lines:[101, 101], file:"lib/rbx/object.fy"}, ":yield":{doc:"<p>Same as Fiber##yield.</p>\n\n<div class=\"doctags\"></div>\n\n", arg:[], lines:[399, 399], file:"lib/object.fy"}, "set_slot:value:":{doc:"<p>Sets an object's slot with a given value.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">slotname</code> </label><div>Name of slot to be set.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">val</code> </label><div>Value for slot to be set.</div></div></div>\n\n", arg:["slotname", "val"], lines:[39, 39], file:"lib/rbx/object.fy"}, ":true?":{doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">false</code>.</div></div></div>\n\n", arg:[], lines:[131, 131], file:"lib/object.fy"}, "sleep:":{doc:"<p>Sets the current Thread (in which self is running) for a given amount to sleep.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">seconds</code> </label><div>Amount of seconds to sleep.</div></div></div>\n\n", arg:["seconds"], lines:[637, 637], file:"lib/object.fy"}, ":!=":{doc:"<p>Indicates, if two objects are not equal.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">other</code> </label><div>Other object to compare against.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">true</code> if <code data-lang=\"fancy\">self</code> is not equal to <code data-lang=\"fancy\">other</code>, <code data-lang=\"fancy\">false</code> otherwise.</div></div></div>\n\n", arg:["other"], lines:[59, 59], file:"lib/object.fy"}, "require:":{doc:"<p>Loads and evaluates a given Fancy source file by trying to find the specified\nRelative paths are allowed (and by default expected).</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">file_path</code> </label><div>in Fancy's loadpath (see <code data-lang=\"fancy\" data-class-ref=\"Fancy\" class=\"class-ref selectable\">Fancy</code> <code data-lang=\"fancy\" data-class-ref=\"Fancy CodeLoader\" class=\"class-ref selectable\">CodeLoader</code>).</div></div></div>\n\n", arg:["file_path"], lines:[14, 14], file:"lib/rbx/object.fy"}, "responds_to?:":{doc:"<p>Indicates if an object responds to a given message.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">message</code> </label><div>The message to check for (preferably a Symbol).</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">true</code> if <code data-lang=\"fancy\">self</code> responds to <code data-lang=\"fancy\">message</code>, <code data-lang=\"fancy\">false</code> otherwise.</div></div></div>\n\n", arg:["message"], lines:[132, 132], file:"lib/rbx/object.fy"}, "yield:":{doc:"<p>Same as Fiber##yield:</p>\n\n<div class=\"doctags\"></div>\n\n", arg:["values"], lines:[407, 407], file:"lib/object.fy"}, ":to_s":{doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code> represenation of <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", arg:[], lines:[28, 28], file:"lib/rbx/object.fy"}, "define_singleton_method:with:":{doc:"<p>Dynamically defines a method on <code data-lang=\"fancy\">self's</code> metaclass (a singleton method) using a given <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">block</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> to be used as the method's body.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">name</code> </label><div>Name of the method to be defined on <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", arg:["name", "block"], lines:[60, 60], file:"lib/rbx/object.fy"}, "if:then:":{doc:"<p>Same as:\ncond if_true: block</p>\n\n<div class=\"doctags\"></div>\n\n", arg:["cond", "block"], lines:[225, 225], file:"lib/object.fy"}, ":print":{doc:"<p>Same as:\n<em>stdout</em> print: self</p>\n\n<p>Prints <code data-lang=\"fancy\">self</code> on <code data-lang=\"fancy\"><em>stdout</em></code>.</p>\n\n<div class=\"doctags\"></div>\n\n", arg:[], lines:[48, 48], file:"lib/object.fy"}, "until:do:":{doc:"<p>Same as:\ncond_block until_do: body_block</p>\n\n<div class=\"doctags\"></div>\n\n", arg:["cond_block", "body_block"], lines:[252, 252], file:"lib/object.fy"}, "documentation:":{doc:"<p>Sets the documentation string for an Object.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">docstring</code> </label><div>New docstring for <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", arg:["docstring"], lines:[319, 319], file:"lib/object.fy"}, "is_a?:":{doc:"<p>Indicates, if an object is an instance of a given Class.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">class</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Class\" class=\"class-ref selectable\">Class</code> to check for if <code data-lang=\"fancy\">self</code> is an instance of.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">true</code> if <code data-lang=\"fancy\">self</code> is an instance of <code data-lang=\"fancy\">class</code>, <code data-lang=\"fancy\">false</code> otherwise.</div></div></div>\n\n", arg:["class"], lines:[82, 82], file:"lib/rbx/object.fy"}, ":die!":{doc:"<p>Tells an object to let its actor to die (quit running).</p>\n\n<div class=\"doctags\"></div>\n\n", arg:[], lines:[491, 491], file:"lib/object.fy"}, "do:until:":{doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">cond_block</code> </label><div>Condition <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> used to determine if <code data-lang=\"fancy\">body_block@</code> should be called again.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">body_block</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> to be called at least once and as long as <code data-lang=\"fancy\">cond_block</code> yields a false-ish value.</div></div></div>\n\n", arg:["body_block", "cond_block"], lines:[271, 271], file:"lib/object.fy"}, "tap:":{doc:"<p>Calls a given <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> with <code data-lang=\"fancy\">self</code> before returning <code data-lang=\"fancy\">self</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">block</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> to be called with <code data-lang=\"fancy\">self</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", arg:["block"], lines:[618, 618], file:"lib/object.fy"}, "xor:":{doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">other</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Object\" class=\"class-ref selectable\">Object</code> to compare <code data-lang=\"fancy\">self</code> against.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">true</code> if only one of <code data-lang=\"fancy\">self</code> and <code data-lang=\"fancy\">other</code> is true, <code data-lang=\"fancy\">false</code> otherwise.</div></div></div>\n\n", arg:["other"], lines:[214, 214], file:"lib/object.fy"}, ":<=>":{doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">other</code> </label><div>Other object to compare against.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>-1 if <code data-lang=\"fancy\">self</code> is smaller, 0 if <code data-lang=\"fancy\">self</code> is equal or 1 if <code data-lang=\"fancy\">self</code> is greater or equal compared to <code data-lang=\"fancy\">other</code>.</div></div></div>\n\n", arg:["other"], lines:[581, 581], file:"lib/object.fy"}, "copy_slots_from:":{doc:"<p>Copies all slots from <code data-lang=\"fancy\">object</code> to <code data-lang=\"fancy\">self</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">object</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Object\" class=\"class-ref selectable\">Object</code> to copy slots from.</div></div></div>\n\n", arg:["object"], lines:[562, 562], file:"lib/object.fy"}, "if:then:else:":{doc:"<p>Same as:\ncond if_true: then_block else: else_block</p>\n\n<div class=\"doctags\"></div>\n\n", arg:["cond", "then_block", "else_block"], lines:[234, 234], file:"lib/object.fy"}, "if_nil:else:":{doc:"<p>Calls <code data-lang=\"fancy\">else_block</code> (default behaviour).</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">then_block</code> </label><div>Does not get called (default behaviour).</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">else_block</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> to be called.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Value of calling <code data-lang=\"fancy\">else_block</code>.</div></div></div>\n\n", arg:["then_block", "else_block"], lines:[104, 104], file:"lib/object.fy"}, ":if_responds?":{doc:"<p>Returns a <code data-lang=\"fancy\" data-class-ref=\"RespondsToProxy\" class=\"class-ref selectable\">RespondsToProxy</code> for <code data-lang=\"fancy\">self</code> that forwards any messages\nonly if <code data-lang=\"fancy\">self</code> responds to them.</p>\n\n<p>Example:</p>\n\n<pre><code> # only send 'some_message: if object responds to it:\n object if_responds? some_message: some_parameter\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>RespondsToProxy for <code data-lang=\"fancy\">self</div></div></div>\n\n\n<p></code></p>\n", arg:[], lines:[365, 365], file:"lib/object.fy"}, "unless:do:":{doc:"<p>Same as:\ncond if_true: { nil } else: block</p>\n\n<div class=\"doctags\"></div>\n\n", arg:["cond", "block"], lines:[281, 281], file:"lib/object.fy"}, "let:be:":{doc:"<p>Forward to message let:be:in:</p>\n\n<div class=\"doctags\"></div>\n\n", arg:["var_name", "value"], lines:[640, 640], file:"lib/object.fy"}, ":documentation":{doc:"<p>Returns the <code data-lang=\"fancy\" data-class-ref=\"Fancy\" class=\"class-ref selectable\">Fancy</code> <code data-lang=\"fancy\" data-class-ref=\"Fancy Documentation\" class=\"class-ref selectable\">Documentation</code> object for an Object.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Fancy\" class=\"class-ref selectable\">Fancy</code> <code data-lang=\"fancy\" data-class-ref=\"Fancy Documentation\" class=\"class-ref selectable\">Documentation</code> object for <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", arg:[], lines:[309, 309], file:"lib/object.fy"}, "kind_of?:":{doc:"<p>Same as Object#is_a?:\nIndicates, if an object is an instance of a given Class.</p>\n\n<div class=\"doctags\"></div>\n\n", arg:["class"], lines:[91, 91], file:"lib/rbx/object.fy"}, "send_future:":{doc:"<p>Forward to message send_future:with_params:</p>\n\n<div class=\"doctags\"></div>\n\n", arg:["message"], lines:[504, 504], file:"lib/object.fy"}, ":println":{doc:"<p>Same as:\n<em>stdout</em> println: self</p>\n\n<p>Prints <code data-lang=\"fancy\">self</code> on <code data-lang=\"fancy\"><em>stdout</em></code>, followed by a newline.</p>\n\n<div class=\"doctags\"></div>\n\n", arg:[], lines:[37, 37], file:"lib/object.fy"}, "let:be:in:":{doc:"<p>Dynamically rebinds <code data-lang=\"fancy\">var_name</code> as dynamic variable with <code data-lang=\"fancy\">value</code> as the value within <code data-lang=\"fancy\">block</code>.</p>\n\n<p>Example:</p>\n\n<pre><code> File write: \"/tmp/output.txt\" with: |f| {\n let: '*stdout* be: f in: {\n \"hello, world!\" println # writes it to file not STDOUT\n }\n }\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">block</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> in which <code data-lang=\"fancy\">var_name</code> will be dynamically bound to <code data-lang=\"fancy\">value</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">var_name</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Symbol\" class=\"class-ref selectable\">Symbol</code> that represents the name of the dynamic variable to be set.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">value</code> </label><div>Value for the variable.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Returns <code data-lang=\"fancy\">value</div></div></div>\n\n\n<p></code></p>\n", arg:["var_name", "value", "block"], lines:[657, 657], file:"lib/object.fy"}, "if_nil:":{doc:"<p>Does nothing (default behaviour).</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">nil</div></div></div>\n\n\n<p></code></p>\n", arg:["block"], lines:[92, 92], file:"lib/object.fy"}, "undefine_singleton_method:":{doc:"<p>Undefines a singleton method of <code data-lang=\"fancy\">self</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">name</code> </label><div>Name of the method to be undefined no <code data-lang=\"fancy\">self's</code> metaclass.</div></div></div>\n\n", arg:["name"], lines:[70, 70], file:"lib/rbx/object.fy"}, "to_enum:":{doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Fancy\" class=\"class-ref selectable\">Fancy</code> <code data-lang=\"fancy\" data-class-ref=\"Fancy Enumerator\" class=\"class-ref selectable\">Enumerator</code> for <code data-lang=\"fancy\">self</code> using <code data-lang=\"fancy\">iterator</code> for iteration.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">iterator</code> </label><div>Message to use for iteration on <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", arg:["iterator"], lines:[164, 164], file:"lib/object.fy"}, ":identity":{doc:"<p>The identity method simply returns self.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", arg:[], lines:[329, 329], file:"lib/object.fy"}, "backtick:":{doc:"<p>This is the default implementation for backtick: which gets called when using the backtick syntax.\nFor example:\n<code>cat README</code>\nGets translated to the following message send:\nself backtick: \"cat README\"\nWhich allows for custom implementations of the backtick: method, if needed.\nThis default implementation works the same way as in Ruby, Perl or Bash.\nIt returns the output of running the given string on the command line as a <code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code>.</p>\n\n<div class=\"doctags\"></div>\n\n", arg:["str"], lines:[380, 380], file:"lib/object.fy"}, "break:":{doc:"<p>Returns <code data-lang=\"fancy\">value</code> from iteratioen.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">value</code> </label><div>Value to return from iteration.</div></div></div>\n\n", arg:["value"], lines:[443, 443], file:"lib/object.fy"}, "unless:do:else:":{doc:"<p>Same as:\ncond if_true: else_block else: block</p>\n\n<div class=\"doctags\"></div>\n\n", arg:["cond", "block", "else_block"], lines:[290, 290], file:"lib/object.fy"}, "extend:":{doc:"<p>Extends <code data-lang=\"fancy\">self</code> with the methods in <code data-lang=\"fancy\">class</code> (by including its methods in <code data-lang=\"fancy\">self's</code> metaclass).</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">class</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Class\" class=\"class-ref selectable\">Class</code> to extend <code data-lang=\"fancy\">self</code> with.</div></div></div>\n\n", arg:["class"], lines:[141, 141], file:"lib/rbx/object.fy"}, "with_output_to:do:":{doc:"<p>Opens <code data-lang=\"fancy\">filename</code> and rebinds <code>*stdout*</code> to it within <code data-lang=\"fancy\">block</code>.</p>\n\n<p>Example:</p>\n\n<pre><code> with_output_to: \"/tmp/hello_world.txt\" do: {\n \"hello\" println\n \"world\" println\n }\n</code></pre>\n\n<p>This writes</p>\n\n<pre><code> hello\n world\n</code></pre>\n\n<p>to /tmp/hello_world.txt</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">block</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> to be executed with *stdout* being bound to the output file.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">filename</code> </label><div>Filename of file to write to.</div></div></div>\n\n", arg:["filename", "block"], lines:[694, 694], file:"lib/object.fy"}, "send_future:with_params:":{doc:"<p>Creates a <code data-lang=\"fancy\" data-class-ref=\"FutureSend\" class=\"class-ref selectable\">FutureSend</code> object (a Future / Promise) that will hold the value of sending <code data-lang=\"fancy\">message</code> to <code data-lang=\"fancy\">self</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">params</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> of parameters of the <code data-lang=\"fancy\" data-class-ref=\"FutureSend\" class=\"class-ref selectable\">FutureSend</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">message</code> </label><div>Message to be sent as a <code data-lang=\"fancy\" data-class-ref=\"FutureSend\" class=\"class-ref selectable\">FutureSend</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"FutureSend\" class=\"class-ref selectable\">FutureSend</code> object that will hold the return value of <code data-lang=\"fancy\">message</code> with <code data-lang=\"fancy\">params</code> on <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", arg:["message", "params"], lines:[513, 513], file:"lib/object.fy"}, ":false?":{doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">false</code>.</div></div></div>\n\n", arg:[], lines:[123, 123], file:"lib/object.fy"}, ":||":{doc:"<p>Boolean disjunction.\nIf <code data-lang=\"fancy\">self</code> is true-ish (non-nil, non-false) returns <code data-lang=\"fancy\">self</code>.\nOtherwise returns <code data-lang=\"fancy\">other</code> (if <code data-lang=\"fancy\">other</code> is a <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code>, calls it first and returns its return value)</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">other</code> </label><div>Object or <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> (for short-circuit evaluation) to compare <code data-lang=\"fancy\">self</code> to.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">self</code> if <code data-lang=\"fancy\">self</code> is true-ish, <code data-lang=\"fancy\">other</code> otherwise.</div></div></div>\n\n", arg:["other"], lines:[201, 201], file:"lib/object.fy"}, "synchronized:":{doc:"<p>Runs a given <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> in a synchronized fashion if called by multiple Threads.\nUses a <code data-lang=\"fancy\" data-class-ref=\"Mutex\" class=\"class-ref selectable\">Mutex</code> in the background for synchronization (created on demand for each <code data-lang=\"fancy\" data-class-ref=\"Object\" class=\"class-ref selectable\">Object</code>).</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">block</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> to be run only by one Thread at a time.</div></div></div>\n\n", arg:["block"], lines:[537, 537], file:"lib/object.fy"}, "if_false:":{doc:"<p>Does nothing (default behaviour).</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">nil</div></div></div>\n\n\n<p></code></p>\n", arg:["block"], lines:[92, 92], file:"lib/object.fy"}, ":to_i":{doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Fixnum\" class=\"class-ref selectable\">Fixnum</code> representation of <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", arg:[], lines:[147, 147], file:"lib/object.fy"}, "and:":{doc:"<p>Boolean conjunction.\nIf <code data-lang=\"fancy\">self</code> and <code data-lang=\"fancy\">other</code> are both true-ish (non-nil, non-false), returns <code data-lang=\"fancy\">other</code>.\nIf <code data-lang=\"fancy\">other</code> is a <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code>, calls it and returns its return value.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">other</code> </label><div>Object or <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> (for short-circuit evaluation) to compare <code data-lang=\"fancy\">self</code> to.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">other</code> if both <code data-lang=\"fancy\">self</code> and <code data-lang=\"fancy\">other</code> are true-ish, <code data-lang=\"fancy\">self</code> otherwise.</div></div></div>\n\n", arg:["other"], lines:[183, 183], file:"lib/object.fy"}, ":++":{doc:"<p>Returns the <code data-lang=\"fancy\">String</code> concatenation of <code data-lang=\"fancy\">self</code> and <code data-lang=\"fancy\">other</code>.\nCalls to_s on <code data-lang=\"fancy\">self</code> and <code data-lang=\"fancy\">other</code> and concatenates the results to a new <code data-lang=\"fancy\">String</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">other</code> </label><div>Other object to concatenate its <code data-lang=\"fancy\">String</code> value with.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">String</code> concatenation of <code data-lang=\"fancy\">String</code> values of <code data-lang=\"fancy\">self</code> and <code data-lang=\"fancy\">other</code>.</div></div></div>\n\n", arg:["other"], lines:[16, 16], file:"lib/object.fy"}, "or:":{doc:"<p>Boolean disjunction.\nIf <code data-lang=\"fancy\">self</code> is true-ish (non-nil, non-false) returns <code data-lang=\"fancy\">self</code>.\nOtherwise returns <code data-lang=\"fancy\">other</code> (if <code data-lang=\"fancy\">other</code> is a <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code>, calls it first and returns its return value)</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">other</code> </label><div>Object or <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> (for short-circuit evaluation) to compare <code data-lang=\"fancy\">self</code> to.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">self</code> if <code data-lang=\"fancy\">self</code> is true-ish, <code data-lang=\"fancy\">other</code> otherwise.</div></div></div>\n\n", arg:["other"], lines:[201, 201], file:"lib/object.fy"}, "get_slot:":{doc:"<p>Returns the value of a slot of <code data-lang=\"fancy\">self</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">slotname</code> </label><div>Name of slot to get the value of.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Value of slot with name <code data-lang=\"fancy\">slotname</code>.</div></div></div>\n\n", arg:["slotname"], lines:[50, 50], file:"lib/rbx/object.fy"}, "method:":{doc:"<p>Returns the method with a given name for self, if defined.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Method\" class=\"class-ref selectable\">Method</code> with <code data-lang=\"fancy\">method_name</code> defined for <code data-lang=\"fancy\">self</code>, or <code data-lang=\"fancy\">nil</code>.</div></div></div>\n\n", arg:["method_name"], lines:[300, 300], file:"lib/object.fy"}, ":slots":{doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> of slot names that <code data-lang=\"fancy\">self</code> has.</div></div></div>\n\n", arg:[], lines:[627, 627], file:"lib/object.fy"}}}, "Fancy FDoc":{methods:{":main":{doc:"<p>FDoc will load all .fy files you give to it, and optionally run\nany specified FancySpec, and later produce documentation output.</p>\n\n<div class=\"doctags\"></div>\n\n", arg:[], lines:[32, 32], file:"lib/fdoc.fy"}}, ancestors:["Fancy FDoc", "Object", "Kernel"], doc:"<p>FDoc is a tool to generate API documentation from Fancy source.</p>\n\n<p>Works as follows:</p>\n\n<ol>\n<li>We setup a handler to be invoked every time an object is set documentation\nSee fdoc_hook.fy, its loaded even before all of lib/rbx/*.fy so we can\nAlso have documentation for all fancy rubinius.</li>\n<li>We load boot.fy, so we get documentation for all fancy's lib.</li>\n<li>We run FDoc main\nwhich can possibly load any file/directory you specify and optionally\nrun specs, effectively associating them with documented objects.</li>\n<li>Generate output file.\nCurrently the plan is to output a json formatted object.\nTo be loaded by an html file and use jquery to build a GUI from it.</li>\n</ol>\n\n\n<div class=\"doctags\"></div>\n\n", instance_methods:{}}, "System":{methods:{":abort":{doc:"<p>Exits the current running Fancy process (application) with an exit\ncode of 1 (indicating failure).</p>\n\n<div class=\"doctags\"></div>\n\n", arg:[], lines:[9, 9], file:"lib/system.fy"}, "pipe:do:":{doc:"<p>Runs the given string as a popen3() call, passing in a given <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code>.\nThe <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> is expected to take 3 arguments for <code data-lang=\"fancy\">STDIN</code>, <code data-lang=\"fancy\">STDOUT</code> and <code data-lang=\"fancy\">STDERR</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">block</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> to be called with <code data-lang=\"fancy\">STDIN</code>, <code data-lang=\"fancy\">STDOUT</code> and <code data-lang=\"fancy\">STDERR</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">command_str</code> </label><div>String to run as a command via popen3()</div></div></div>\n\n", arg:["command_str", "block"], lines:[65, 65], file:"lib/rbx/system.fy"}, "abort:":{doc:"<p>Prints a given message on <code data-lang=\"fancy\"><em>stderr</em></code> and then exits with an exit\ncode of 1 (indicating failure).</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">message</code> </label><div>Error message to be printed before aborting programm execution.</div></div></div>\n\n", arg:["message"], lines:[19, 19], file:"lib/system.fy"}, "do:":{doc:"<p>Runs the given string as a system() command.</p>\n\n<div class=\"doctags\"></div>\n\n", arg:["command_str"], lines:[31, 31], file:"lib/rbx/system.fy"}, "piperead:":{doc:"<p>Runs the given string as a popen() call and returns the output\nof the call as a string.</p>\n\n<div class=\"doctags\"></div>\n\n", arg:["command_str"], lines:[40, 40], file:"lib/rbx/system.fy"}, "pipe:":{doc:"<p>Runs the given string as a popen3() call and returns a IO handle\nthat can be read from</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"IO\" class=\"class-ref selectable\">IO</code> object representing the command's <code data-lang=\"fancy\">STDOUT</code> IO stream.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">command_str</code> </label><div>String to run as a command via popen3()</div></div></div>\n\n", arg:["command_str"], lines:[52, 52], file:"lib/rbx/system.fy"}, "exit:":{doc:"<p>Exit the running Fancy process with a given exit code.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">exitcode</code> </label><div>Exit code (Fixnum) to be returned to the parent process.</div></div></div>\n\n", arg:["exitcode"], lines:[23, 23], file:"lib/rbx/system.fy"}, ":exit":{doc:"<p>Exit the running Fancy process.</p>\n\n<div class=\"doctags\"></div>\n\n", arg:[], lines:[13, 13], file:"lib/rbx/system.fy"}}, ancestors:["System", "Object", "Kernel"], doc:"<p>System class. Holds system-wide relevant methods.</p>\n\n<div class=\"doctags\"></div>\n\n", instance_methods:{}}, "Fiber":{methods:{"new:":{doc:"<p>Creates a new Fiber running <code data-lang=\"fancy\">block</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">block</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> to be run in a new Fiber.</div></div></div>\n\n", arg:["block"], lines:[18, 18], file:"lib/rbx/fiber.fy"}, "yield:":{doc:"<p>Returns execution control to the parent <code data-lang=\"fancy\" data-class-ref=\"Fiber\" class=\"class-ref selectable\">Fiber</code> and passes along <code data-lang=\"fancy\">vals</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">vals</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> of values to pass along to parent <code data-lang=\"fancy\" data-class-ref=\"Fiber\" class=\"class-ref selectable\">Fiber</code>.</div></div></div>\n\n", arg:["vals"], lines:[28, 28], file:"lib/rbx/fiber.fy"}}, ancestors:["Rubinius Fiber", "Object", "Kernel"], doc:"<p>Fiber class. Fibers are cooperatively scheduled coroutines supported\nby the Rubinius VM.\nControl flow between multiple Fibers is always explicitly handled.\nThere is no preemptive scheduler.</p>\n\n<div class=\"doctags\"></div>\n\n", instance_methods:{"resume:":{doc:"<p>Resumes <code data-lang=\"fancy\">self</code> (if paused) or raises an exception, if <code data-lang=\"fancy\" data-class-ref=\"Fiber\" class=\"class-ref selectable\">Fiber</code> is dead.\nPasses along <code data-lang=\"fancy\">vals</code> as the return value of the last call to <code data-lang=\"fancy\">yield</code> in <code data-lang=\"fancy\">self</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">vals</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> of values to pass along to <code data-lang=\"fancy\">self</code> for resuming.</div></div></div>\n\n", arg:["vals"], lines:[39, 39], file:"lib/rbx/fiber.fy"}}}, "Integer":{methods:{}, ancestors:["Integer", "Precision", "Numeric", "Comparable", "Object", "Kernel"], doc:"<p>Base class for integer values in Fancy.</p>\n\n<div class=\"doctags\"></div>\n\n", instance_methods:{"times:offset:":{doc:"<p>Similar to #times: but starts at a given offset.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">block</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> to be called with each number between <code data-lang=\"fancy\">offset</code> and <code data-lang=\"fancy\">self</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">offset</code> </label><div>Offset to be used as starting point of iteration.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", arg:["block", "offset"], lines:[18, 18], file:"lib/integer.fy"}, "times:":{doc:"<p>Calls a given <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> with each number between 0 and <code data-lang=\"fancy\">self</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">block</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> to be called with each number between 0 and <code data-lang=\"fancy\">self</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">self</div></div></div>\n\n\n<p></code></p>\n", arg:["block"], lines:[19, 19], file:"lib/rbx/integer.fy"}}}, "UnboundMethod":{methods:{}, ancestors:["UnboundMethod", "MethodMixin", "Object", "Object", "Kernel"], doc:"<p>An instance UnboundMethod represents a Method object not bound to a specific <code data-lang=\"fancy\" data-class-ref=\"Class\" class=\"class-ref selectable\">Class</code> or <code data-lang=\"fancy\" data-class-ref=\"Object\" class=\"class-ref selectable\">Object</code>.</p>\n\n<div class=\"doctags\"></div>\n\n", instance_methods:{}}, "Time":{methods:{}, ancestors:["Time", "Comparable", "Object", "Kernel"], doc:"<p>Time class. Used for even more timely stuff.</p>\n\n<div class=\"doctags\"></div>\n\n", instance_methods:{}}, "Fancy FDoc Formatter":{methods:{"create_class_references:":{doc:"<p>Creates class references for Fancy class names.\nA docstring may contain class names sorounded by @\nwithout space between the @.</p>\n\n<p>Nested classes can be indicated by using :: like</p>\n\n<pre><code> Foo::Bar\n</code></pre>\n\n<p>This will create references for both, <code data-lang=\"fancy\">Foo</code> and <code data-lang=\"fancy\">Bar</code></p>\n\n<p>Instance methods should be written:</p>\n\n<pre><code> Foo::Bar#baz\n</code></pre>\n\n<p>Class methods should be written:</p>\n\n<pre><code> Foo::Bar.baz\n</code></pre>\n\n<p>Some examples:\nA simple class reference:\n<code data-lang=\"fancy\" data-class-ref=\"Fancy\" class=\"class-ref selectable\">Fancy</code></p>\n\n<p>Nested class reference:\n<code data-lang=\"fancy\" data-class-ref=\"Fancy\" class=\"class-ref selectable\">Fancy</code> <code data-lang=\"fancy\" data-class-ref=\"Fancy FDoc\" class=\"class-ref selectable\">FDoc</code></p>\n\n<p>A fancy method without arguments:\n<code data-lang=\"fancy\" data-class-ref=\"Fancy\" class=\"class-ref selectable\">Fancy</code> <code data-lang=\"fancy\" data-class-ref=\"Fancy FDoc\" class=\"class-ref selectable\">FDoc</code> <code data-lang=\"fancy\" data-class-ref=\"Fancy FDoc JSON\" class=\"class-ref selectable\">JSON</code> <code data-lang=\"fancy\" data-singleton-method-ref=\":generate_map\" data-owner-class=\"Fancy FDoc JSON\" class=\"singleton-method-ref selectable\">generate_map</code></p>\n\n<p>A ruby method reference (will link to ruby docs if available)\n<code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code> <code data-lang=\"fancy\" data-ruby-singleton-method-ref=\"split\" data-owner-class=\"String\" class=\"ruby-singleton-method-ref selectable\">split</code></p>\n\n<p>A fancy method with many arguments:\n<code data-lang=\"fancy\" data-class-ref=\"Fancy\" class=\"class-ref selectable\">Fancy</code> <code data-lang=\"fancy\" data-class-ref=\"Fancy Package\" class=\"class-ref selectable\">Package</code> <code data-lang=\"fancy\" data-class-ref=\"Fancy Package Installer\" class=\"class-ref selectable\">Installer</code> <code data-lang=\"fancy\" data-singleton-method-ref=\"initialize:version:install_path:\" data-owner-class=\"Fancy Package Installer\" class=\"singleton-method-ref selectable\">initialize:version:install_path:</code></p>\n\n<p>A singleton method:\n<code data-lang=\"fancy\" data-class-ref=\"Fancy\" class=\"class-ref selectable\">Fancy</code> <code data-lang=\"fancy\" data-class-ref=\"Fancy FDoc\" class=\"class-ref selectable\">FDoc</code> <code data-lang=\"fancy\" data-class-ref=\"Fancy FDoc Formatter\" class=\"class-ref selectable\">Formatter</code> <code data-lang=\"fancy\" data-singleton-method-ref=\"format:\" data-owner-class=\"Fancy FDoc Formatter\" class=\"singleton-method-ref selectable\">format:</code></p>\n\n<div class=\"doctags\"></div>\n\n", arg:["str"], lines:[243, 243], file:"lib/fdoc.fy"}}, ancestors:["Fancy FDoc Formatter", "Object", "Kernel"], doc:"<p>A documentation formater intended to be used by <code data-lang=\"fancy\" data-class-ref=\"FDoc\" class=\"class-ref selectable\">FDoc</code>.</p>\n\n<p>This formatter makes some transformations on a docstring\nand then converts it to html using markdown.</p>\n\n<div class=\"doctags\"></div>\n\n", instance_methods:{}}, "StandardError":{methods:{}, ancestors:["StandardError", "Exception", "Object", "Kernel"], doc:"<p>StandardError. Base class of most Exception classes.</p>\n\n<div class=\"doctags\"></div>\n\n", instance_methods:{"initialize:":{doc:"<p>Creates a new Exception with a given message.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">msg</code> </label><div>Message (<code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code>) for the Exception.</div></div></div>\n\n", arg:["msg"], lines:[31, 31], file:"lib/rbx/exception.fy"}, ":initialize":{doc:"<p>Creates a new Exception with an empty message.</p>\n\n<div class=\"doctags\"></div>\n\n", arg:[], lines:[21, 21], file:"lib/rbx/exception.fy"}, ":raise!":{doc:"<p>Raises (throws) an Exception to be caught somewhere up the\ncallstack.</p>\n\n<div class=\"doctags\"></div>\n\n", arg:[], lines:[40, 40], file:"lib/rbx/exception.fy"}}}, "Fancy Package Installer":{methods:{}, ancestors:["Fancy Package Installer", "Object", "Kernel"], doc:"<p><code data-lang=\"fancy\" data-class-ref=\"Fancy\" class=\"class-ref selectable\">Fancy</code> <code data-lang=\"fancy\" data-class-ref=\"Fancy Package\" class=\"class-ref selectable\">Package</code> installer.</p>\n\n<p>Downloads packages from Github (usually the latest tagged version,\nif no version is specified, or the latest HEAD revision in the\nmaster branch) and install it to the <code data-lang=\"fancy\">FANCY_PACKAGE_DIR</code>.</p>\n\n<div class=\"doctags\"></div>\n\n", instance_methods:{"download_url:":{doc:"<p>Returns the download url for a given version of the package\nto be installed.</p>\n\n<div class=\"doctags\"></div>\n\n", arg:["version"], lines:[110, 110], file:"lib/package/installer.fy"}, "initialize:":{doc:"<p>Forward to message initialize:version:install_path:</p>\n\n<div class=\"doctags\"></div>\n\n", arg:["@package_name"], lines:[44, 44], file:"lib/package/installer.fy"}, "rename_dir:":{doc:"<p>Renames a given directory to a common way within the install path.\n=> It will rename the given dirname to $user/$repo-$version.</p>\n\n<div class=\"doctags\"></div>\n\n", arg:["dirname"], lines:[158, 158], file:"lib/package/installer.fy"}, ":latest_tag":{doc:"<p>Returns the latest tag (sorted alphabetically).</p>\n\n<div class=\"doctags\"></div>\n\n", arg:[], lines:[82, 82], file:"lib/package/installer.fy"}, ":run":{doc:"<p>Runs the installer &amp; installs the package into\n<code data-lang=\"fancy\">$FANCY_PACKAGE_DIR</code>.</p>\n\n<div class=\"doctags\"></div>\n\n", arg:[], lines:[52, 52], file:"lib/package/installer.fy"}, ":load_fancypack":{doc:"<p>Loads the @.fancypack file within the downloaded package directory.\nIf no @.fancypack file is found, raise an error.</p>\n\n<div class=\"doctags\"></div>\n\n", arg:[], lines:[167, 167], file:"lib/package/installer.fy"}, "initialize:version:":{doc:"<p>Forward to message initialize:version:install_path:</p>\n\n<div class=\"doctags\"></div>\n\n", arg:["@package_name", "@version"], lines:[44, 44], file:"lib/package/installer.fy"}, ":tags":{doc:"<p>Returns a list of tags the repository has on Github.</p>\n\n<div class=\"doctags\"></div>\n\n", arg:[], lines:[91, 91], file:"lib/package/installer.fy"}, "initialize:version:install_path:":{doc:"<p>Creates a new <code data-lang=\"fancy\">Package</code> Installer@ for a given package name, an\noptional version (default is 'latest) and an optional\ninstallation path (default is the standard installation path for\nFancy packages).</p>\n\n<div class=\"doctags\"></div>\n\n", arg:["@package_name", "@version", "@install_path"], lines:[44, 44], file:"lib/package/installer.fy"}, "has_version?:":{doc:"<p>Indicates, if a given version is available on Github.</p>\n\n<div class=\"doctags\"></div>\n\n", arg:["version"], lines:[98, 98], file:"lib/package/installer.fy"}, "download_tgz:":{doc:"<p>Downloads the .tar.gz file from Github with the given version\n(tag or branch name) and saves it to the specified <code data-lang=\"fancy\">install_path</code>.</p>\n\n<p>The Default install_path is ~/.fancy/packages/.\nIf an environment variable <code data-lang=\"fancy\">FANCY_PACKAGE_DIR</code> is defined, it\nwill get used.</p>\n\n<div class=\"doctags\"></div>\n\n", arg:["version"], lines:[135, 135], file:"lib/package/installer.fy"}}}, "Hash":{methods:{}, ancestors:["Hash", "Fancy Enumerable", "Object", "Enumerable", "Object", "Kernel"], doc:"<p>Class for Hashes (HashMaps / Dictionaries).\nMaps a key to a value.</p>\n\n<div class=\"doctags\"></div>\n\n", instance_methods:{"each_value:":{doc:"<p>Calls a given <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> with each value.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">block</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> to be called with each value in <code data-lang=\"fancy\">self</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">self</div></div></div>\n\n\n<p></code></p>\n", arg:["block"], lines:[74, 74], file:"lib/hash.fy"}, "delete:":{doc:"<p>Deletes a key-value pair from <code data-lang=\"fancy\">self</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">key</code> </label><div>Key of key-value pair to be deleted in <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", arg:["key"], lines:[34, 34], file:"lib/rbx/hash.fy"}, "each_key:":{doc:"<p>Calls a given <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> with each key.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">block</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> to be called with each key in <code data-lang=\"fancy\">self</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">self</div></div></div>\n\n\n<p></code></p>\n", arg:["block"], lines:[62, 62], file:"lib/hash.fy"}, ":to_object":{doc:"<p>Creates and returns a new <code data-lang=\"fancy\" data-class-ref=\"Object\" class=\"class-ref selectable\">Object</code> with slot names and values based on keys and values in <code data-lang=\"fancy\">self</code>.</p>\n\n<p>Example:</p>\n\n<pre><code> o = &lt;['name =&gt; \"Christopher Bertels\", 'interest =&gt; \"programming languages\"]&gt; to_object\n o name # =&gt; \"Christopher Bertels\"\n o interest # =&gt; 42\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>New <code data-lang=\"fancy\" data-class-ref=\"Object\" class=\"class-ref selectable\">Object</code> with slots defined by keys and values in <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", arg:[], lines:[110, 110], file:"lib/hash.fy"}, "each:":{doc:"<p>Calls a given <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> with each key and value.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">block</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> to be called with each key and value in <code data-lang=\"fancy\">self</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">self</div></div></div>\n\n\n<p></code></p>\n", arg:["block"], lines:[51, 51], file:"lib/hash.fy"}, "at:else:":{doc:"<p>Returns the value for a given key.\nIf the key is not found, calls <code data-lang=\"fancy\">else_block</code> and returns the value it yields.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">else_block</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> to be called if <code data-lang=\"fancy\">key</code> is not found.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">key</code> </label><div>Key of the value to get.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Value for <code data-lang=\"fancy\">key</code> or value of calling <code data-lang=\"fancy\">else_block</code>, if <code data-lang=\"fancy\">key</code> is not found.</div></div></div>\n\n", arg:["key", "else_block"], lines:[33, 33], file:"lib/hash.fy"}, "includes?:":{doc:"<p>Indicates if a given key is in <code data-lang=\"fancy\">self</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">key</code> </label><div>Key to search for.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">true</code>, if Hash includes <code data-lang=\"fancy\">key</code>, <code data-lang=\"fancy\">false</code> otherwise.</div></div></div>\n\n", arg:["key"], lines:[53, 53], file:"lib/rbx/hash.fy"}, "values_at:":{doc:"<p>Example:</p>\n\n<pre><code> &lt;['foo =&gt; 1, 'bar =&gt; 2, 'baz =&gt; 42]&gt; values_at: ('foo, 'baz) # =&gt; [1, 42]\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">keys</code> </label><div>Collection of keys to get the values for.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> of all values for the given keys.</div></div></div>\n\n", arg:["keys"], lines:[140, 140], file:"lib/hash.fy"}, ":to_a":{doc:"<p>Returns an <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> of the key-value pairs in a <code data-lang=\"fancy\" data-class-ref=\"Hash\" class=\"class-ref selectable\">Hash</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> of all key-value pairs in <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", arg:[], lines:[86, 86], file:"lib/hash.fy"}, "fetch:else:":{doc:"<p>Example:</p>\n\n<pre><code> &lt;['foo =&gt; 'bar]&gt; fetch: 'foo else: { 42 } # =&gt; 'bar\n &lt;['foo =&gt; 'bar]&gt; fetch: 'unknown else: { 42 } # =&gt; 42\n &lt;['nil =&gt; nil]&gt; fetch: 'nil else: { 'not_found } # =&gt; nil\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">else_block</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> that gets called if <code data-lang=\"fancy\">key</code> not in <code data-lang=\"fancy\">self</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">key</code> </label><div>Key of value to get.</div></div></div>\n\n", arg:["key", "else_block"], lines:[159, 159], file:"lib/hash.fy"}, ":to_s":{doc:"<p>Returns a <code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code> representation of a <code data-lang=\"fancy\" data-class-ref=\"Hash\" class=\"class-ref selectable\">Hash</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code> representation of <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", arg:[], lines:[95, 95], file:"lib/hash.fy"}, ":[]":{doc:"<p>Returns the value for a given key.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">key</code> </label><div>Key for value to get.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Value for given <code data-lang=\"fancy\">key</code> or <code data-lang=\"fancy\">nil</code>, if <code data-lang=\"fancy\">key</code> not set.</div></div></div>\n\n", arg:["key"], lines:[18, 18], file:"lib/hash.fy"}}}, "IO":{methods:{}, ancestors:["IO", "IOMixin", "Object", "Unmarshalable", "File Constants", "Enumerable", "Object", "Kernel"], doc:"<p>Base class for IO related classes (like <code data-lang=\"fancy\" data-class-ref=\"File\" class=\"class-ref selectable\">File</code>, <code data-lang=\"fancy\" data-class-ref=\"Socket\" class=\"class-ref selectable\">Socket</code>, <code data-lang=\"fancy\" data-class-ref=\"Console\" class=\"class-ref selectable\">Console</code> etc.).</p>\n\n<div class=\"doctags\"></div>\n\n", instance_methods:{}}, "Fancy Package Dependency":{methods:{}, ancestors:["Fancy Package Dependency", "Object", "Kernel"], doc:"<p>Package Dependency.\nRepresents a Dependency to another Package with a given version.</p>\n\n<div class=\"doctags\"></div>\n\n", instance_methods:{"initialize:":{doc:"<p>Forward to message initialize:version:</p>\n\n<div class=\"doctags\"></div>\n\n", arg:["@name"], lines:[11, 11], file:"lib/package/dependency.fy"}}}, "Symbol":{methods:{}, ancestors:["Symbol", "ImmediateValue", "Object", "Kernel"], doc:"<p>Symbols are unique identifiers and only created once.</p>\n\n<p>If there are several occurrances of the same Symbol literal within\nFancy code, they all refer to the same Symbol object.</p>\n\n<div class=\"doctags\"></div>\n\n", instance_methods:{":call":{doc:"<p>Sends <code data-lang=\"fancy\">self</code> as message to the sender in its context.\nExample:\n'foo call\n # => same as\n self foo</p>\n\n<p> if: x then: 'foo else: 'bar\n # same as:\n if: x then: { self foo } else: { self bar }</p>\n\n<div class=\"doctags\"></div>\n\n", arg:[], lines:[37, 37], file:"lib/symbol.fy"}, "call:":{doc:"<p>This allows Symbols to be used like Blocks\n(e.g. in all methods of Enumerable).\nExample:\n[1, 2, 3] map: 'squared # => [1, 4, 9]</p>\n\n<div class=\"doctags\"></div>\n\n", arg:["arg"], lines:[22, 22], file:"lib/symbol.fy"}, ":defined?":{doc:"<p>Indicates if a Symbol is defined as a constant in the senders scope.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">true</code>, if <code data-lang=\"fancy\">self</code> is defined as a constant in senders scope, <code data-lang=\"fancy\">false</code> otherwise.</div></div></div>\n\n", arg:[], lines:[20, 20], file:"lib/rbx/symbol.fy"}}}, "HTML":{methods:{}, ancestors:["HTML", "Object", "Kernel"], doc:"<p>HTML generator class.</p>\n\n<p>Example:</p>\n\n<pre><code> require: \"html\"\n html = HTML new: @{\n html: @{\n head: @{ title: \"My Fancy Website\" }\n body: @{\n div: { id: \\\342\200\235main\\\342\200\235 } with: \"Hello, Fancy World!\"\n }\n }\n } . to_s\n\n # html is now:\n \"\"\"\n &lt;html&gt;\n &lt;head&gt;\n &lt;title&gt;\n My Fancy Website\n &lt;/title&gt;\n &lt;/head&gt;\n &lt;body&gt;\n &lt;div id=\"main\"&gt;\n Hello, Fancy World!\n &lt;/div&gt;\n &lt;/body&gt;\n &lt;/html&gt;\n \"\"\"\n</code></pre>\n\n<div class=\"doctags\"></div>\n\n", instance_methods:{"open_tag:":{doc:"<p>Forward to message open_tag:attrs:indent:</p>\n\n<div class=\"doctags\"></div>\n\n", arg:["name"], lines:[44, 44], file:"lib/html.fy"}, "html_block:body:":{doc:"<p>Forward to message html_block:body:attrs:</p>\n\n<div class=\"doctags\"></div>\n\n", arg:["tag", "body"], lines:[71, 71], file:"lib/html.fy"}, "open_tag:attrs:":{doc:"<p>Forward to message open_tag:attrs:indent:</p>\n\n<div class=\"doctags\"></div>\n\n", arg:["name", "attrs"], lines:[44, 44], file:"lib/html.fy"}}}, "Fancy StopIteration":{methods:{}, ancestors:["Fancy StopIteration", "StandardError", "Exception", "Object", "Kernel"], doc:"<p>Raised to stop the iteration, in particular by Enumerator#next.\nIt is rescued by Block#loop.</p>\n\n<p>Example:</p>\n\n<pre><code> {\n 'Hello println\n Fancy StopIteration new raise!\n 'World println\n } loop\n 'Done! println\n</code></pre>\n\n<p>Produces:</p>\n\n<pre><code> Hello\n Done!\n</code></pre>\n\n<div class=\"doctags\"></div>\n\n", instance_methods:{":result":{doc:"<p>Returns the return value of the iterator.</p>\n\n<p>o = Object new\ndef o each: block {\n block call: [1]\n block call: [2]\n block call: [3]\n 100\n}</p>\n\n<p>e = o to_enum\ne next p #=> 1\ne next p #=> 2\ne next p #=> 3\ntry {\n e next\n} catch Fancy StopIteration => ex {\n ex result p #=> 100\n}</p>\n\n<div class=\"doctags\"></div>\n\n", arg:[], lines:[82, 82], file:"lib/iteration.fy"}}}, "Fancy NextIteration":{methods:{}, ancestors:["Fancy NextIteration", "StandardError", "Exception", "Object", "Kernel"], doc:"<p>Raised to continue with next iteration (and stopping the current one).\nIt is rescued by Block#loop.</p>\n\n<div class=\"doctags\"></div>\n\n", instance_methods:{}}, "MethodMixin":{methods:{}, ancestors:["MethodMixin", "Object", "Kernel"], doc:"<p>Mixin class with common methods included by <code data-lang=\"fancy\" data-class-ref=\"Method\" class=\"class-ref selectable\">Method</code> and <code data-lang=\"fancy\" data-class-ref=\"UnboundMethod\" class=\"class-ref selectable\">UnboundMethod</code>.</p>\n\n<div class=\"doctags\"></div>\n\n", instance_methods:{":private?":{doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">true</code>, if the <code data-lang=\"fancy\" data-class-ref=\"Method\" class=\"class-ref selectable\">Method</code> is private in its defined context.</div></div></div>\n\n", arg:[], lines:[48, 48], file:"lib/rbx/method.fy"}, "documentation:":{doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">docstring</code> </label><div>New docstring for <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", arg:["docstring"], lines:[19, 19], file:"lib/rbx/method.fy"}, ":public?":{doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">true</code>, if the <code data-lang=\"fancy\" data-class-ref=\"Method\" class=\"class-ref selectable\">Method</code> is public in its defined context.</div></div></div>\n\n", arg:[], lines:[34, 34], file:"lib/rbx/method.fy"}, ":documentation":{doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Docstring for <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", arg:[], lines:[11, 11], file:"lib/rbx/method.fy"}, ":tests":{doc:"<p>Returns an Array of all the FancySpec SpecTests defined for a\nMethod.</p>\n\n<div class=\"doctags\"></div>\n\n", arg:[], lines:[57, 57], file:"lib/rbx/method.fy"}, ":visibility":{doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>The visibility (<code data-lang=\"fancy\">'private</code>, <code data-lang=\"fancy\">'protected</code>, <code data-lang=\"fancy\">'public</code>) of a <code data-lang=\"fancy\" data-class-ref=\"Method\" class=\"class-ref selectable\">Method</code> in its defined context, if any.</div></div></div>\n\n", arg:[], lines:[26, 26], file:"lib/rbx/method.fy"}, ":protected?":{doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">true</code>, if the <code data-lang=\"fancy\" data-class-ref=\"Method\" class=\"class-ref selectable\">Method</code> is protected in its defined context.</div></div></div>\n\n", arg:[], lines:[41, 41], file:"lib/rbx/method.fy"}}}, "Class":{methods:{"superclass:body:":{doc:"<p>Creates a new <code data-lang=\"fancy\" data-class-ref=\"Class\" class=\"class-ref selectable\">Class</code> by subclassing <code data-lang=\"fancy\">superclass</code> and\nusing <code data-lang=\"fancy\">body_block</code> as its body.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">body_block</code> </label><div>A <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> that is used as the body of the new <code data-lang=\"fancy\" data-class-ref=\"Class\" class=\"class-ref selectable\">Class</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">superclass</code> </label><div>The superclass to inherit from.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>A new <code data-lang=\"fancy\" data-class-ref=\"Class\" class=\"class-ref selectable\">Class</code> inherited from <code data-lang=\"fancy\">superclass</code>.</div></div></div>\n\n", arg:["superclass", "body_block"], lines:[41, 41], file:"lib/rbx/class.fy"}}, ancestors:["Class", "Module", "Object", "Kernel"], doc:"<p>This class is the class of <code data-lang=\"fancy\" data-class-ref=\"Class\" class=\"class-ref selectable\">Class</code> objects - e.g. <code data-lang=\"fancy\" data-class-ref=\"Object\" class=\"class-ref selectable\">Object</code>, <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code>,\n<code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code> etc.\nAny class in the language is an instance of this class, as in Ruby\nor Smalltalk.</p>\n\n<div class=\"doctags\"></div>\n\n", instance_methods:{"initialize:":{doc:"<p>Initializes a <code data-lang=\"fancy\" data-class-ref=\"Class\" class=\"class-ref selectable\">Class</code> with a superclass.</p>\n\n<div class=\"doctags\"></div>\n\n", arg:["superclass"], lines:[55, 55], file:"lib/rbx/class.fy"}, "alias_method:for:":{doc:"<p>Defines an alias method for another method.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">new_method_name</code> </label><div>New method name to be used as an alias for <code data-lang=\"fancy\">old_method_name</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">old_method_name</code> </label><div>Name of method to alias (must exist in the <code data-lang=\"fancy\" data-class-ref=\"Class\" class=\"class-ref selectable\">Class</code>).</div></div></div>\n\n", arg:["new_method_name", "old_method_name"], lines:[138, 138], file:"lib/class.fy"}, "write_slot:":{doc:"<p>Defines a slot writer method for a given slotname.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">slotname</code> </label><div>Name of slot to define a setter method for.</div></div></div>\n\n", arg:["slotname"], lines:[85, 85], file:"lib/class.fy"}, "define_slot_reader:":{doc:"<p>Defines a slot reader method with a given name.\nE.g. for a slotname <code data-lang=\"fancy\">count</code> it will define the following method:</p>\n\n<pre><code> def count {\n get_slot: 'count\n }\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">slotname</code> </label><div>Name of the slot to define a getter method for.</div></div></div>\n\n", arg:["slotname"], lines:[25, 25], file:"lib/class.fy"}, "subclass:":{doc:"<p>Creates a new <code data-lang=\"fancy\" data-class-ref=\"Class\" class=\"class-ref selectable\">Class</code> with <code data-lang=\"fancy\">self</code> as superclass and the given body.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">body_block</code> </label><div>A <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> that gets used as the body of the <code data-lang=\"fancy\" data-class-ref=\"Class\" class=\"class-ref selectable\">Class</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>A new <code data-lang=\"fancy\" data-class-ref=\"Class\" class=\"class-ref selectable\">Class</code> inherited from <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", arg:["body_block"], lines:[109, 109], file:"lib/rbx/class.fy"}, "instance_method:":{doc:"<p>Returns an instance method for a <code data-lang=\"fancy\" data-class-ref=\"Class\" class=\"class-ref selectable\">Class</code> with a given name.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">name</code> </label><div>Name of the instance method to return.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>The instance <code data-lang=\"fancy\" data-class-ref=\"Method\" class=\"class-ref selectable\">Method</code> with the given <code data-lang=\"fancy\">name</code> or <code data-lang=\"fancy\">nil</code>.</div></div></div>\n\n", arg:["name"], lines:[131, 131], file:"lib/rbx/class.fy"}, "read_write_slots:":{doc:"<p>Defines slot reader &amp; writer methods for all given slotnames.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">slots</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> of slotnames to define getter & setter methods for.</div></div></div>\n\n", arg:["slots"], lines:[94, 94], file:"lib/class.fy"}, ":nested_classes":{doc:"<p>Returns all the nested classes within a <code data-lang=\"fancy\" data-class-ref=\"Class\" class=\"class-ref selectable\">Class</code> as an <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> of all nested classes for <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", arg:[], lines:[119, 119], file:"lib/rbx/class.fy"}, "define_class_method:with:":{doc:"<p>Defines a class method on a <code data-lang=\"fancy\" data-class-ref=\"Class\" class=\"class-ref selectable\">Class</code> (a singleton method) with a\ngiven name and body.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">block</code> </label><div>A <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> to be used as the class methods body.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">name</code> </label><div>Name of the class method to be defined.</div></div></div>\n\n", arg:["name", "block"], lines:[89, 89], file:"lib/rbx/class.fy"}, ":new":{doc:"<p>Creates a new <code data-lang=\"fancy\" data-class-ref=\"Class\" class=\"class-ref selectable\">Class</code> instance by subclassing <code data-lang=\"fancy\" data-class-ref=\"Object\" class=\"class-ref selectable\">Object</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>A new <code data-lang=\"fancy\" data-class-ref=\"Class\" class=\"class-ref selectable\">Class</code> subclassed from <code data-lang=\"fancy\" data-class-ref=\"Object\" class=\"class-ref selectable\">Object</code>.</div></div></div>\n\n", arg:[], lines:[12, 12], file:"lib/rbx/class.fy"}, "alias_method:for_ruby:":{doc:"<p>Creates a method alias for a Ruby method.</p>\n\n<div class=\"doctags\"></div>\n\n", arg:["new_method_name", "ruby_method_name"], lines:[147, 147], file:"lib/rbx/class.fy"}, "subclass?:":{doc:"<p>Indicates, if a Class is a subclass of another Class.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">class_obj</code> </label><div>Class object to check for, if <code data-lang=\"fancy\">self</code> is a subclass of <code data-lang=\"fancy\">class_obj</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">true</code>, if <code data-lang=\"fancy\">self</code> is a subclass of <code data-lang=\"fancy\">class_obj</code>, <code data-lang=\"fancy\">false</code> otherwise.</div></div></div>\n\n", arg:["class_obj"], lines:[127, 127], file:"lib/class.fy"}, ":initialize":{doc:"<p>Initializes a <code data-lang=\"fancy\" data-class-ref=\"Class\" class=\"class-ref selectable\">Class</code> with <code data-lang=\"fancy\" data-class-ref=\"Object\" class=\"class-ref selectable\">Object</code> set as superclass (default superclass).</p>\n\n<div class=\"doctags\"></div>\n\n", arg:[], lines:[48, 48], file:"lib/rbx/class.fy"}, "private:":{doc:"<p>Sets any given method names to private on this <code data-lang=\"fancy\" data-class-ref=\"Class\" class=\"class-ref selectable\">Class</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">method_names</code> </label><div>One or more (<code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code>) method names (as a <code data-lang=\"fancy\" data-class-ref=\"Symbol\" class=\"class-ref selectable\">Symbol</code>) to be set to private in this <code data-lang=\"fancy\" data-class-ref=\"Class\" class=\"class-ref selectable\">Class</code>.</div></div></div>\n\n", arg:["method_names"], lines:[168, 168], file:"lib/rbx/class.fy"}, "protected:":{doc:"<p>Sets any given method names to protected on this <code data-lang=\"fancy\" data-class-ref=\"Class\" class=\"class-ref selectable\">Class</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">method_names</code> </label><div>One or more (<code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code>) method names (as a <code data-lang=\"fancy\" data-class-ref=\"Symbol\" class=\"class-ref selectable\">Symbol</code>) to be set to protected in this <code data-lang=\"fancy\" data-class-ref=\"Class\" class=\"class-ref selectable\">Class</code>.</div></div></div>\n\n", arg:["method_names"], lines:[180, 180], file:"lib/rbx/class.fy"}, "undefine_method:":{doc:"<p>Undefines an instance method on a Class with a given name.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">name</code> </label><div>Name of the method to undefine (remove) from a <code data-lang=\"fancy\" data-class-ref=\"Class\" class=\"class-ref selectable\">Class</code>.</div></div></div>\n\n", arg:["name"], lines:[77, 77], file:"lib/rbx/class.fy"}, "undefine_class_method:":{doc:"<p>Undefines a class method on a <code data-lang=\"fancy\" data-class-ref=\"Class\" class=\"class-ref selectable\">Class</code> with a given name.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">name</code> </label><div>Name of the class method to undefine (remove).</div></div></div>\n\n", arg:["name"], lines:[99, 99], file:"lib/rbx/class.fy"}, "public:":{doc:"<p>Sets any given method names to public on this <code data-lang=\"fancy\" data-class-ref=\"Class\" class=\"class-ref selectable\">Class</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">method_names</code> </label><div>One or more (<code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code>) method names (as a <code data-lang=\"fancy\" data-class-ref=\"Symbol\" class=\"class-ref selectable\">Symbol</code>) to be set to public in this <code data-lang=\"fancy\" data-class-ref=\"Class\" class=\"class-ref selectable\">Class</code>.</div></div></div>\n\n", arg:["method_names"], lines:[156, 156], file:"lib/rbx/class.fy"}, ":forwards_unary_ruby_methods":{doc:"<p>Creates ruby_alias methods for any unary ruby methods of a class.</p>\n\n<div class=\"doctags\"></div>\n\n", arg:[], lines:[190, 190], file:"lib/rbx/class.fy"}, "write_slots:":{doc:"<p>Defines slot writer methods for all given slotnames.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">slots</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> of slotnames to define setter methods for.</div></div></div>\n\n", arg:["slots"], lines:[72, 72], file:"lib/class.fy"}, "read_slot:":{doc:"<p>Defines a slot reader method for a given slotname.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">slotname</code> </label><div>Name of slot to define a getter method for.</div></div></div>\n\n", arg:["slotname"], lines:[63, 63], file:"lib/class.fy"}, "define_slot_writer:":{doc:"<p>Defines a slot writer method with a given name.\nE.g. for a slotname <code data-lang=\"fancy\">count</code> it will define the following method:</p>\n\n<pre><code> def count: c {\n set_slot: 'count value: c\n }\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">slotname</code> </label><div>Name of the slot to defnie define a setter method for.</div></div></div>\n\n", arg:["slotname"], lines:[41, 41], file:"lib/class.fy"}, "read_slots:":{doc:"<p>Defines slot reader methods for all given slotnames.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">slots</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> of slotnames to define getter methods for.</div></div></div>\n\n", arg:["slots"], lines:[50, 50], file:"lib/class.fy"}, "new:":{doc:"<p>Creates a new <code data-lang=\"fancy\" data-class-ref=\"Class\" class=\"class-ref selectable\">Class</code> instance by subclassing <code data-lang=\"fancy\">superclass</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">superclass</code> </label><div>The superclass to inherit from.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>A new <code data-lang=\"fancy\" data-class-ref=\"Class\" class=\"class-ref selectable\">Class</code> inherited from <code data-lang=\"fancy\">superclass</code>.</div></div></div>\n\n", arg:["superclass"], lines:[26, 26], file:"lib/rbx/class.fy"}, "read_write_slot:":{doc:"<p>Defines slot reader &amp; writer methods for a given slotname.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">slotname</code> </label><div>Name of slot to define getter & setter methods for.</div></div></div>\n\n", arg:["slotname"], lines:[108, 108], file:"lib/class.fy"}, "define_method:with:":{doc:"<p>Defines an instance method on a <code data-lang=\"fancy\" data-class-ref=\"Class\" class=\"class-ref selectable\">Class</code> with a given name and\nbody.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">block</code> </label><div>A <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> that is used as the method's body.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">name</code> </label><div>Name of the method to be defined.</div></div></div>\n\n", arg:["name", "block"], lines:[67, 67], file:"lib/rbx/class.fy"}, "alias_method_rbx:for:":{doc:"<p>Rbx specific version of alias_method:for: due to bootstrap order\nreasons. Should not be used directly.</p>\n\n<div class=\"doctags\"></div>\n\n", arg:["new_method_name", "old_method_name"], lines:[140, 140], file:"lib/rbx/class.fy"}}}, "Stack":{methods:{}, ancestors:["Stack", "Object", "Kernel"], doc:"<p>A simple Stack container class.</p>\n\n<div class=\"doctags\"></div>\n\n", instance_methods:{"initialize:":{doc:"<p>Initializes a new Stack with a given size.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">size</code> </label><div>Initial size of the new Stack.</div></div></div>\n\n", arg:["size"], lines:[21, 21], file:"lib/stack.fy"}, ":initialize":{doc:"<p>Initializes a new Stack.</p>\n\n<div class=\"doctags\"></div>\n\n", arg:[], lines:[11, 11], file:"lib/stack.fy"}, ":size":{doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Size of the Stack.</div></div></div>\n\n", arg:[], lines:[59, 59], file:"lib/stack.fy"}, ":top":{doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>The top-of-stack element.</div></div></div>\n\n", arg:[], lines:[51, 51], file:"lib/stack.fy"}, "each:":{doc:"<p>Calls a given <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> with each element in <code data-lang=\"fancy\">self</code>, starting with the top of stack element.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">block</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> to be called with each element in <code data-lang=\"fancy\">self</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", arg:["block"], lines:[80, 80], file:"lib/stack.fy"}, "push:":{doc:"<p>Pushes a value onto the Stack.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">obj</code> </label><div>Object to be pushed onto <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", arg:["obj"], lines:[31, 31], file:"lib/stack.fy"}, ":pop":{doc:"<p>Pops the top-of-stack element from the Stack and returns it.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Top-of-stack element.</div></div></div>\n\n", arg:[], lines:[43, 43], file:"lib/stack.fy"}, ":empty?":{doc:"<p>Indicates, if the Stack is empty.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">true</code> if empty, otherwise <code data-lang=\"fancy\">false</code>.</div></div></div>\n\n", arg:[], lines:[69, 69], file:"lib/stack.fy"}, ":<<":{doc:"<p>Pushes a value onto the Stack.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">obj</code> </label><div>Object to be pushed onto <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", arg:["obj"], lines:[31, 31], file:"lib/stack.fy"}}}}}); })();
1
+ (function() { fancy.fdoc({classes:{"Fancy Package RubyDependency":{doc:"<p>Same as <code data-lang=\"fancy\" data-class-ref=\"Fancy\" class=\"class-ref selectable\">Fancy</code> <code data-lang=\"fancy\" data-class-ref=\"Fancy Package\" class=\"class-ref selectable\">Package</code> <code data-lang=\"fancy\" data-class-ref=\"Fancy Package Dependency\" class=\"class-ref selectable\">Dependency</code>, just for rubygem packages.</p>\n\n<div class=\"doctags\"></div>\n\n", ancestors:["Fancy Package RubyDependency", "Object", "Kernel"], methods:{}, instance_methods:{":install":{arg:[], file:"lib/package/dependency.fy", doc:"<p>Installs the RubyDependency (a RubyGem) via rbx -S gem on the system.</p>\n\n<div class=\"doctags\"></div>\n\n", lines:[27, 27]}, "initialize:":{arg:["@gem_name"], file:"lib/package/dependency.fy", doc:"<p>Forward to message initialize:version:</p>\n\n<div class=\"doctags\"></div>\n\n", lines:[22, 22]}}}, "Fancy FDoc Formatter":{doc:"<p>A documentation formater intended to be used by <code data-lang=\"fancy\" data-class-ref=\"FDoc\" class=\"class-ref selectable\">FDoc</code>.</p>\n\n<p>This formatter makes some transformations on a docstring\nand then converts it to html using markdown.</p>\n\n<div class=\"doctags\"></div>\n\n", ancestors:["Fancy FDoc Formatter", "Object", "Kernel"], methods:{"create_class_references:":{arg:["str"], file:"lib/fdoc.fy", doc:"<p>Creates class references for Fancy class names.\nA docstring may contain class names sorounded by @\nwithout space between the @.</p>\n\n<p>Nested classes can be indicated by using :: like</p>\n\n<pre><code> Foo::Bar\n</code></pre>\n\n<p>This will create references for both, <code data-lang=\"fancy\">Foo</code> and <code data-lang=\"fancy\">Bar</code></p>\n\n<p>Instance methods should be written:</p>\n\n<pre><code> Foo::Bar#baz\n</code></pre>\n\n<p>Class methods should be written:</p>\n\n<pre><code> Foo::Bar.baz\n</code></pre>\n\n<p>Some examples:\nA simple class reference:\n<code data-lang=\"fancy\" data-class-ref=\"Fancy\" class=\"class-ref selectable\">Fancy</code></p>\n\n<p>Nested class reference:\n<code data-lang=\"fancy\" data-class-ref=\"Fancy\" class=\"class-ref selectable\">Fancy</code> <code data-lang=\"fancy\" data-class-ref=\"Fancy FDoc\" class=\"class-ref selectable\">FDoc</code></p>\n\n<p>A fancy method without arguments:\n<code data-lang=\"fancy\" data-class-ref=\"Fancy\" class=\"class-ref selectable\">Fancy</code> <code data-lang=\"fancy\" data-class-ref=\"Fancy FDoc\" class=\"class-ref selectable\">FDoc</code> <code data-lang=\"fancy\" data-class-ref=\"Fancy FDoc JSON\" class=\"class-ref selectable\">JSON</code> <code data-lang=\"fancy\" data-singleton-method-ref=\":generate_map\" data-owner-class=\"Fancy FDoc JSON\" class=\"singleton-method-ref selectable\">generate_map</code></p>\n\n<p>A ruby method reference (will link to ruby docs if available)\n<code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code> <code data-lang=\"fancy\" data-ruby-singleton-method-ref=\"split\" data-owner-class=\"String\" class=\"ruby-singleton-method-ref selectable\">split</code></p>\n\n<p>A fancy method with many arguments:\n<code data-lang=\"fancy\" data-class-ref=\"Fancy\" class=\"class-ref selectable\">Fancy</code> <code data-lang=\"fancy\" data-class-ref=\"Fancy Package\" class=\"class-ref selectable\">Package</code> <code data-lang=\"fancy\" data-class-ref=\"Fancy Package Installer\" class=\"class-ref selectable\">Installer</code> <code data-lang=\"fancy\" data-singleton-method-ref=\"initialize:version:install_path:\" data-owner-class=\"Fancy Package Installer\" class=\"singleton-method-ref selectable\">initialize:version:install_path:</code></p>\n\n<p>A singleton method:\n<code data-lang=\"fancy\" data-class-ref=\"Fancy\" class=\"class-ref selectable\">Fancy</code> <code data-lang=\"fancy\" data-class-ref=\"Fancy FDoc\" class=\"class-ref selectable\">FDoc</code> <code data-lang=\"fancy\" data-class-ref=\"Fancy FDoc Formatter\" class=\"class-ref selectable\">Formatter</code> <code data-lang=\"fancy\" data-singleton-method-ref=\"format:\" data-owner-class=\"Fancy FDoc Formatter\" class=\"singleton-method-ref selectable\">format:</code></p>\n\n<div class=\"doctags\"></div>\n\n", lines:[242, 242]}}, instance_methods:{}}, "Fancy Documentation RDiscount":{doc:"<p>A documentation formatter using ruby's RDiscount markdown</p>\n\n<div class=\"doctags\"></div>\n\n", ancestors:["Fancy Documentation RDiscount", "Object", "Kernel"], methods:{"rdiscount:":{arg:["doc"], file:"lib/documentation.fy", doc:"<p>Format string as HTML using RDiscount ruby gem.</p>\n\n<div class=\"doctags\"></div>\n\n", lines:[121, 121]}}, instance_methods:{}}, "Fancy Package":{doc:"<p>The Fancy Package System.</p>\n\n<p>This class is used for installing and uninstalling fancy packages on\nthe system.</p>\n\n<p>Example:</p>\n\n<pre><code> $ fancy install bakkdoor/mongo.fy\n</code></pre>\n\n<p>Will install the mongo.fy package from http://github.com/bakkdoor/mongo.fy\nin the latest released version or get the current HEAD (master\nbranch) revision.</p>\n\n<p>You can then load the package in your source file via</p>\n\n<pre><code> require: \"mongo.fy\"\n</code></pre>\n\n<div class=\"doctags\"></div>\n\n", ancestors:["Fancy Package", "Object", "Kernel"], methods:{":package_list_file":{arg:[], file:"lib/package.fy", doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Path to installed_packages.txt <code data-lang=\"fancy\" data-class-ref=\"File\" class=\"class-ref selectable\">File</code> on system.</div></div></div>\n\n", lines:[90, 90]}, ":add_to_loadpath":{arg:[], file:"lib/package.fy", doc:"<p>Adds the Fancy Package install dir to the loadpath so you can\neasily <code data-lang=\"fancy\">require:</code> packages into your code.</p>\n\n<div class=\"doctags\"></div>\n\n", lines:[99, 99]}, "install:":{arg:["package_name"], file:"lib/package.fy", doc:"<p>Forward to message install:version:</p>\n\n<div class=\"doctags\"></div>\n\n", lines:[35, 35]}, "install:version:":{arg:["package_name", "version"], file:"lib/package.fy", doc:"<p>Installs a package with a given name.\nExpects package_name to be a string in the form of:\n user/repo\nWhich would get the package code from github.com/user/repo</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">package_name</code> </label><div>Name of package to install.</div></div></div>\n\n", lines:[43, 43]}, ":list_packages":{arg:[], file:"lib/package.fy", doc:"<p>Lists (prints) all installed packages on this system.</p>\n\n<div class=\"doctags\"></div>\n\n", lines:[70, 70]}, ":install_dependencies":{arg:[], file:"lib/package.fy", doc:"<p>Installs dependencies found in .fancypack file in the current directory.\nIf no .fancypack file is found, fails and quits.</p>\n\n<div class=\"doctags\"></div>\n\n", lines:[52, 52]}, ":root_dir":{arg:[], file:"lib/package.fy", doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Fancy Package root install dir.</div></div></div>\n\n", lines:[78, 78]}, "uninstall:":{arg:["package_name"], file:"lib/package.fy", doc:"<p>Uninstalls a package with a given name (if installed).</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">package_name</code> </label><div>Name of package to uninstall.</div></div></div>\n\n", lines:[62, 62]}}, instance_methods:{}}, "KVO":{doc:"<p>Key-Value Observing Mixin class.\nInclude this Class into any class to add support for Key-Value Observing.\nInspired by Objective-C's KVO, but using <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code>s, as it fits nicer\nwith Fancy's semantics.</p>\n\n<p>Example:</p>\n\n<pre><code> class Person {\n include: KVO\n read_write_slots: ('name, 'age, 'city)\n }\n\n tom = Person new tap: @{\n name: \"Tom Cruise\"\n age: 55\n city: \"Hollywood\"\n }\n\n tom observe: 'name with: |new old| {\n new println\n }\n tom name: \"Tommy Cruise\" # will cause \"Tommy Cruise\" to be printed\n tom age: 56 # No observer Blocks defined, so nothing will happen\n</code></pre>\n\n<div class=\"doctags\"></div>\n\n", ancestors:["KVO", "Object", "Kernel"], methods:{}, instance_methods:{"observe:with:":{arg:["slotname", "block"], file:"lib/kvo.fy", doc:"<p>Registers a new observer <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> for <code data-lang=\"fancy\">slotname</code> in <code data-lang=\"fancy\">self</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">block</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> to be called with old and new value of <code data-lang=\"fancy\">slotname</code> in <code data-lang=\"fancy\">self</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">slotname</code> </label><div>Name of slot to be observed with <code data-lang=\"fancy\">block</code>.</div></div></div>\n\n", lines:[65, 65]}, "observe_insertion:with:":{arg:["slotname", "block"], file:"lib/kvo.fy", doc:"<p>Registers a new insertion observer <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> for collection named <code data-lang=\"fancy\">slotname</code> in <code data-lang=\"fancy\">self</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">block</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> to be called with value inserted in collection named <code data-lang=\"fancy\">slotname</code> in <code data-lang=\"fancy\">self</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">slotname</code> </label><div>Name of collection slot to be observed with <code data-lang=\"fancy\">block</code>.</div></div></div>\n\n", lines:[76, 76]}, "observe_removal:with:":{arg:["slotname", "block"], file:"lib/kvo.fy", doc:"<p>Registers a new removal observer <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> for collection named <code data-lang=\"fancy\">slotname</code> in <code data-lang=\"fancy\">self</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">block</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> to be called with value removed from collection named <code data-lang=\"fancy\">slotname</code> in <code data-lang=\"fancy\">self</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">slotname</code> </label><div>Name of collection slot to be observed with <code data-lang=\"fancy\">block</code>.</div></div></div>\n\n", lines:[87, 87]}}}, "StandardError":{doc:"<p>StandardError. Base class of most Exception classes.</p>\n\n<div class=\"doctags\"></div>\n\n", ancestors:["StandardError", "Exception", "Object", "Kernel"], methods:{}, instance_methods:{":initialize":{arg:[], file:"lib/rbx/exception.fy", doc:"<p>Creates a new Exception with an empty message.</p>\n\n<div class=\"doctags\"></div>\n\n", lines:[18, 18]}, "initialize:":{arg:["msg"], file:"lib/rbx/exception.fy", doc:"<p>Creates a new Exception with a given message.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">msg</code> </label><div>Message (<code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code>) for the Exception.</div></div></div>\n\n", lines:[28, 28]}, ":raise!":{arg:[], file:"lib/rbx/exception.fy", doc:"<p>Raises (throws) an Exception to be caught somewhere up the\ncallstack.</p>\n\n<div class=\"doctags\"></div>\n\n", lines:[37, 37]}}}, "Range":{doc:"<p>Class of Range values. Are created by using Range literal syntax in Fancy.</p>\n\n<p>Example:</p>\n\n<pre><code> (10..100) # Range from 10 to 100\n # the following code does the same as above:\n Range new: 10 to: 100\n</code></pre>\n\n<div class=\"doctags\"></div>\n\n", ancestors:["Range", "Fancy Enumerable", "Object", "Enumerable", "Object", "Kernel"], methods:{}, instance_methods:{"each:":{arg:["block"], file:"lib/rbx/range.fy", doc:"<p>Calls <code data-lang=\"fancy\">block</code> on each value in <code data-lang=\"fancy\">self</code>. Used for iterating over a <code data-lang=\"fancy\" data-class-ref=\"Range\" class=\"class-ref selectable\">Range</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">block</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> to be called with every value in <code data-lang=\"fancy\">self</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", lines:[21, 21]}, ":inspect":{arg:[], file:"lib/range.fy", doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code> representation of <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", lines:[24, 24]}, ":to_s":{arg:[], file:"lib/range.fy", doc:"<p>Same as Range#inspect</p>\n\n<div class=\"doctags\"></div>\n\n", lines:[16, 16]}, "initialize:to:":{arg:["@start", "@end"], file:"lib/rbx/range.fy", doc:"<p>Initializes a new Range starting at <code data-lang=\"fancy\">start</code> and ending at <code data-lang=\"fancy\">end</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">start</code> </label><div>Start element of Range.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">end</code> </label><div>End element of Range.</div></div></div>\n\n", lines:[13, 13]}}}, "UnboundMethod":{doc:"<p>An instance UnboundMethod represents a Method object not bound to a specific <code data-lang=\"fancy\" data-class-ref=\"Class\" class=\"class-ref selectable\">Class</code> or <code data-lang=\"fancy\" data-class-ref=\"Object\" class=\"class-ref selectable\">Object</code>.</p>\n\n<div class=\"doctags\"></div>\n\n", ancestors:["UnboundMethod", "MethodMixin", "Object", "Object", "Kernel"], methods:{}, instance_methods:{}}, "Object":{doc:"<p>Root class of Fancy's class hierarchy.\nAll classes inherit from Object.</p>\n\n<div class=\"doctags\"></div>\n\n", ancestors:["Object", "Kernel"], methods:{}, instance_methods:{"send_future:":{arg:["message"], file:"lib/object.fy", doc:"<p>Forward to message send_future:with_params:</p>\n\n<div class=\"doctags\"></div>\n\n", lines:[507, 507]}, "tap:":{arg:["block"], file:"lib/object.fy", doc:"<p>Calls a given <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> with <code data-lang=\"fancy\">self</code> before returning <code data-lang=\"fancy\">self</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">block</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> to be called with <code data-lang=\"fancy\">self</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", lines:[642, 642]}, ":!=":{arg:["other"], file:"lib/object.fy", doc:"<p>Indicates, if two objects are not equal.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">true</code> if <code data-lang=\"fancy\">self</code> is not equal to <code data-lang=\"fancy\">other</code>, <code data-lang=\"fancy\">false</code> otherwise.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">other</code> </label><div>Other object to compare against.</div></div></div>\n\n", lines:[57, 57]}, ":println":{arg:[], file:"lib/object.fy", doc:"<p>Same as:\n<em>stdout</em> println: self</p>\n\n<p>Prints <code data-lang=\"fancy\">self</code> on <code data-lang=\"fancy\"><em>stdout</em></code>, followed by a newline.</p>\n\n<div class=\"doctags\"></div>\n\n", lines:[35, 35]}, ":slots":{arg:[], file:"lib/object.fy", doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> of slot names that <code data-lang=\"fancy\">self</code> has.</div></div></div>\n\n", lines:[651, 651]}, "do:while:":{arg:["body_block", "cond_block"], file:"lib/object.fy", doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">body_block</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> to be called at least once and as long as <code data-lang=\"fancy\">cond_block</code> yields a true-ish value.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">cond_block</code> </label><div>Condition <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> used to determine if <code data-lang=\"fancy\">body_block@</code> should be called again.</div></div></div>\n\n", lines:[259, 259]}, ":dclone":{arg:[], file:"lib/rbx/object.fy", doc:"<p>Returns a deep clone of self using Ruby's Marshal class.</p>\n\n<div class=\"doctags\"></div>\n\n", lines:[18, 18]}, "unless:do:else:":{arg:["cond", "block", "else_block"], file:"lib/object.fy", doc:"<p>Same as:\ncond if_true: else_block else: block</p>\n\n<div class=\"doctags\"></div>\n\n", lines:[288, 288]}, ":nil?":{arg:[], file:"lib/object.fy", doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">false</code>.</div></div></div>\n\n", lines:[113, 113]}, "copy_slots_from:":{arg:["object"], file:"lib/object.fy", doc:"<p>Copies all slots from <code data-lang=\"fancy\">object</code> to <code data-lang=\"fancy\">self</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">object</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Object\" class=\"class-ref selectable\">Object</code> to copy slots from.</div></div></div>\n\n", lines:[562, 562]}, "xor:":{arg:["other"], file:"lib/object.fy", doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">true</code> if only one of <code data-lang=\"fancy\">self</code> and <code data-lang=\"fancy\">other</code> is true, <code data-lang=\"fancy\">false</code> otherwise.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">other</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Object\" class=\"class-ref selectable\">Object</code> to compare <code data-lang=\"fancy\">self</code> against.</div></div></div>\n\n", lines:[207, 207]}, "send_async:with_params:":{arg:["message", "params"], file:"lib/object.fy", doc:"<p>Sends <code data-lang=\"fancy\">message</code> with <code data-lang=\"fancy\">params</code> to <code data-lang=\"fancy\">self</code> asynchronously and immediately returns <code data-lang=\"fancy\">nil</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">nil</div></div><div</code> class=\"doctag\"><label> <code data-lang=\"fancy\">message</code> </label><div>Message to be sent asynchronously to <code data-lang=\"fancy\">self</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">params</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> of parameters as part of sending <code data-lang=\"fancy\">message</code> asynchronously to <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", lines:[526, 526]}, "unless:do:":{arg:["cond", "block"], file:"lib/object.fy", doc:"<p>Same as:\ncond if_true: { nil } else: block</p>\n\n<div class=\"doctags\"></div>\n\n", lines:[279, 279]}, "and:":{arg:["other"], file:"lib/object.fy", doc:"<p>Boolean conjunction.\nIf <code data-lang=\"fancy\">self</code> and <code data-lang=\"fancy\">other</code> are both true-ish (non-nil, non-false), returns <code data-lang=\"fancy\">other</code>.\nIf <code data-lang=\"fancy\">other</code> is a <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code>, calls it and returns its return value.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">other</code> if both <code data-lang=\"fancy\">self</code> and <code data-lang=\"fancy\">other</code> are true-ish, <code data-lang=\"fancy\">self</code> otherwise.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">other</code> </label><div>Object or <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> (for short-circuit evaluation) to compare <code data-lang=\"fancy\">self</code> to.</div></div></div>\n\n", lines:[175, 175]}, ":break":{arg:[], file:"lib/object.fy", doc:"<p>Breaks / Stops current iteration.</p>\n\n<div class=\"doctags\"></div>\n\n", lines:[434, 434]}, "if_nil:else:":{arg:["then_block", "else_block"], file:"lib/object.fy", doc:"<p>Calls <code data-lang=\"fancy\">else_block</code> (default behaviour).</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">then_block</code> </label><div>Does not get called (default behaviour).</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Value of calling <code data-lang=\"fancy\">else_block</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">else_block</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> to be called.</div></div></div>\n\n", lines:[102, 102]}, ":<=>":{arg:["other"], file:"lib/object.fy", doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>-1 if <code data-lang=\"fancy\">self</code> is smaller, 0 if <code data-lang=\"fancy\">self</code> is equal or 1 if <code data-lang=\"fancy\">self</code> is greater or equal compared to <code data-lang=\"fancy\">other</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">other</code> </label><div>Other object to compare against.</div></div></div>\n\n", lines:[605, 605]}, "undefine_singleton_method:":{arg:["name"], file:"lib/rbx/object.fy", doc:"<p>Undefines a singleton method of <code data-lang=\"fancy\">self</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">name</code> </label><div>Name of the method to be undefined no <code data-lang=\"fancy\">self's</code> metaclass.</div></div></div>\n\n", lines:[68, 68]}, ":die!":{arg:[], file:"lib/object.fy", doc:"<p>Tells an object to let its actor to die (quit running).</p>\n\n<div class=\"doctags\"></div>\n\n", lines:[492, 492]}, "with_output_to:do:":{arg:["filename", "block"], file:"lib/object.fy", doc:"<p>Opens <code data-lang=\"fancy\">filename</code> and rebinds <code>*stdout*</code> to it within <code data-lang=\"fancy\">block</code>.</p>\n\n<p>Example:</p>\n\n<pre><code> with_output_to: \"/tmp/hello_world.txt\" do: {\n \"hello\" println\n \"world\" println\n }\n</code></pre>\n\n<p>This writes</p>\n\n<pre><code> hello\n world\n</code></pre>\n\n<p>to /tmp/hello_world.txt</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">block</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> to be executed with *stdout* being bound to the output file.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">filename</code> </label><div>Filename of file to write to.</div></div></div>\n\n", lines:[718, 718]}, ":identity":{arg:[], file:"lib/object.fy", doc:"<p>The identity method simply returns self.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", lines:[330, 330]}, ":true?":{arg:[], file:"lib/object.fy", doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">false</code>.</div></div></div>\n\n", lines:[129, 129]}, ":if_responds?":{arg:[], file:"lib/object.fy", doc:"<p>Returns a <code data-lang=\"fancy\" data-class-ref=\"RespondsToProxy\" class=\"class-ref selectable\">RespondsToProxy</code> for <code data-lang=\"fancy\">self</code> that forwards any messages\nonly if <code data-lang=\"fancy\">self</code> responds to them.</p>\n\n<p>Example:</p>\n\n<pre><code> # only send 'some_message: if object responds to it:\n object if_responds? some_message: some_parameter\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>RespondsToProxy for <code data-lang=\"fancy\">self</div></div></div>\n\n\n<p></code></p>\n", lines:[366, 366]}, "synchronized:":{arg:["block"], file:"lib/object.fy", doc:"<p>Runs a given <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> in a synchronized fashion if called by multiple Threads.\nUses a <code data-lang=\"fancy\" data-class-ref=\"Mutex\" class=\"class-ref selectable\">Mutex</code> in the background for synchronization (created on demand for each <code data-lang=\"fancy\" data-class-ref=\"Object\" class=\"class-ref selectable\">Object</code>).</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">block</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> to be run only by one Thread at a time.</div></div></div>\n\n", lines:[538, 538]}, "to_enum:":{arg:["iterator"], file:"lib/object.fy", doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Fancy\" class=\"class-ref selectable\">Fancy</code> <code data-lang=\"fancy\" data-class-ref=\"Fancy Enumerator\" class=\"class-ref selectable\">Enumerator</code> for <code data-lang=\"fancy\">self</code> using <code data-lang=\"fancy\">iterator</code> for iteration.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">iterator</code> </label><div>Message to use for iteration on <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", lines:[162, 162]}, "break:":{arg:["value"], file:"lib/object.fy", doc:"<p>Returns <code data-lang=\"fancy\">value</code> from iteratioen.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">value</code> </label><div>Value to return from iteration.</div></div></div>\n\n", lines:[444, 444]}, "if:then:":{arg:["cond", "block"], file:"lib/object.fy", doc:"<p>Same as:\ncond if_true: block</p>\n\n<div class=\"doctags\"></div>\n\n", lines:[223, 223]}, "yield:":{arg:["values"], file:"lib/object.fy", doc:"<p>Same as Fiber##yield:</p>\n\n<div class=\"doctags\"></div>\n\n", lines:[408, 408]}, "require:":{arg:["file_path"], file:"lib/rbx/object.fy", doc:"<p>Loads and evaluates a given Fancy source file by trying to find the specified\nRelative paths are allowed (and by default expected).</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">file_path</code> </label><div>in Fancy's loadpath (see <code data-lang=\"fancy\" data-class-ref=\"Fancy\" class=\"class-ref selectable\">Fancy</code> <code data-lang=\"fancy\" data-class-ref=\"Fancy CodeLoader\" class=\"class-ref selectable\">CodeLoader</code>).</div></div></div>\n\n", lines:[13, 13]}, "send_async:":{arg:["message"], file:"lib/object.fy", doc:"<p>Forward to message send_async:with_params:</p>\n\n<div class=\"doctags\"></div>\n\n", lines:[519, 519]}, ":actor":{arg:[], file:"lib/object.fy", doc:"<p>Returns the Object's actor.\nIf none exists at this moment, a new one will be created\nand starts running in the background.</p>\n\n<div class=\"doctags\"></div>\n\n", lines:[502, 502]}, ":yield":{arg:[], file:"lib/object.fy", doc:"<p>Same as Fiber##yield.</p>\n\n<div class=\"doctags\"></div>\n\n", lines:[400, 400]}, ":to_s":{arg:[], file:"lib/rbx/object.fy", doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code> represenation of <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", lines:[25, 25]}, "get_slot:":{arg:["slotname"], file:"lib/rbx/object.fy", doc:"<p>Returns the value of a slot of <code data-lang=\"fancy\">self</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">slotname</code> </label><div>Name of slot to get the value of.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Value of slot with name <code data-lang=\"fancy\">slotname</code>.</div></div></div>\n\n", lines:[47, 47]}, "documentation:":{arg:["docstring"], file:"lib/object.fy", doc:"<p>Sets the documentation string for an Object.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">docstring</code> </label><div>New docstring for <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", lines:[320, 320]}, ":print":{arg:[], file:"lib/object.fy", doc:"<p>Same as:\n<em>stdout</em> print: self</p>\n\n<p>Prints <code data-lang=\"fancy\">self</code> on <code data-lang=\"fancy\"><em>stdout</em></code>.</p>\n\n<div class=\"doctags\"></div>\n\n", lines:[46, 46]}, "receive_message:":{arg:["message"], file:"lib/rbx/object.fy", doc:"<p>Dynamically sends a given message (without parameters) to <code data-lang=\"fancy\">self</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">message</code> </label><div>Name of message to be sent to <code data-lang=\"fancy\">self</code> dynamically.</div></div></div>\n\n", lines:[98, 98]}, "until:do:":{arg:["cond_block", "body_block"], file:"lib/object.fy", doc:"<p>Same as:\ncond_block until_do: body_block</p>\n\n<div class=\"doctags\"></div>\n\n", lines:[250, 250]}, "copy_slots:from:":{arg:["slots", "object"], file:"lib/object.fy", doc:"<p>Copies slots from <code data-lang=\"fancy\">object</code> to <code data-lang=\"fancy\">self</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">slots</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Fancy\" class=\"class-ref selectable\">Fancy</code> <code data-lang=\"fancy\" data-class-ref=\"Fancy Enumerable\" class=\"class-ref selectable\">Enumerable</code> of slot names to copy from <code data-lang=\"fancy\">object</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">object</code> </label><div>Target <code data-lang=\"fancy\" data-class-ref=\"Object\" class=\"class-ref selectable\">Object</code> to copy slots from.</div></div></div>\n\n", lines:[550, 550]}, ":to_a":{arg:[], file:"lib/object.fy", doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> representation of <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", lines:[137, 137]}, "backtick:":{arg:["str"], file:"lib/object.fy", doc:"<p>This is the default implementation for backtick: which gets called when using the backtick syntax.\nFor example:\n<code>cat README</code>\nGets translated to the following message send:\nself backtick: \"cat README\"\nWhich allows for custom implementations of the backtick: method, if needed.\nThis default implementation works the same way as in Ruby, Perl or Bash.\nIt returns the output of running the given string on the command line as a <code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code>.</p>\n\n<div class=\"doctags\"></div>\n\n", lines:[381, 381]}, "let:be:":{arg:["var_name", "value"], file:"lib/object.fy", doc:"<p>Forward to message let:be:in:</p>\n\n<div class=\"doctags\"></div>\n\n", lines:[666, 666]}, "unless:then:else:":{arg:["cond", "block", "else_block"], file:"lib/object.fy", doc:"<p>Same as:\ncond if_true: else_block else: block</p>\n\n<div class=\"doctags\"></div>\n\n", lines:[288, 288]}, "get_slots:":{arg:["slots"], file:"lib/object.fy", doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">slots</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> of slot names to retrieve from <code data-lang=\"fancy\">self</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> of slot values of slot names passed in via <code data-lang=\"fancy\">slots</code>.</div></div></div>\n\n", lines:[571, 571]}, "method:":{arg:["method_name"], file:"lib/object.fy", doc:"<p>Returns the method with a given name for self, if defined.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Method\" class=\"class-ref selectable\">Method</code> with <code data-lang=\"fancy\">method_name</code> defined for <code data-lang=\"fancy\">self</code>, or <code data-lang=\"fancy\">nil</code>.</div></div></div>\n\n", lines:[300, 300]}, "is_a?:":{arg:["class"], file:"lib/rbx/object.fy", doc:"<p>Indicates, if an object is an instance of a given Class.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">true</code> if <code data-lang=\"fancy\">self</code> is an instance of <code data-lang=\"fancy\">class</code>, <code data-lang=\"fancy\">false</code> otherwise.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">class</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Class\" class=\"class-ref selectable\">Class</code> to check for if <code data-lang=\"fancy\">self</code> is an instance of.</div></div></div>\n\n", lines:[79, 79]}, "define_singleton_method:with:":{arg:["name", "block"], file:"lib/rbx/object.fy", doc:"<p>Dynamically defines a method on <code data-lang=\"fancy\">self's</code> metaclass (a singleton method) using a given <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">block</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> to be used as the method's body.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">name</code> </label><div>Name of the method to be defined on <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", lines:[58, 58]}, ":to_enum":{arg:[], file:"lib/object.fy", doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Fancy\" class=\"class-ref selectable\">Fancy</code> <code data-lang=\"fancy\" data-class-ref=\"Fancy Enumerator\" class=\"class-ref selectable\">Enumerator</code> for <code data-lang=\"fancy\">self</code> using 'each: for iteration.</div></div></div>\n\n", lines:[153, 153]}, "if_true:":{arg:["block"], file:"lib/object.fy", doc:"<p>Calls the <code data-lang=\"fancy\">block</code> (default behaviour).</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">block</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> to be called.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Value of calling <code data-lang=\"fancy\">block</code> with <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", lines:[68, 68]}, "returning:do:":{arg:["value", "block"], file:"lib/object.fy", doc:"<p>Returns <code data-lang=\"fancy\">value</code> after calling <code data-lang=\"fancy\">block</code> with it.\nUseful for returning some object after using it, e.g.:</p>\n\n<pre><code> # this will return [1,2]\n returning: [] do: |arr| {\n arr &lt;&lt; 1\n arr &lt;&lt; 2\n }\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">block</code> </label><div>A <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> that gets called with <code data-lang=\"fancy\">value</code> before returning <code data-lang=\"fancy\">value</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">value</div></div><div</code> class=\"doctag\"><label> <code data-lang=\"fancy\">value</code> </label><div>Value that gets returned at the end.</div></div></div>\n\n", lines:[349, 349]}, ":||":{arg:["other"], file:"lib/object.fy", doc:"<p>Boolean disjunction.\nIf <code data-lang=\"fancy\">self</code> is true-ish (non-nil, non-false) returns <code data-lang=\"fancy\">self</code>.\nOtherwise returns <code data-lang=\"fancy\">other</code> (if <code data-lang=\"fancy\">other</code> is a <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code>, calls it first and returns its return value)</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">self</code> if <code data-lang=\"fancy\">self</code> is true-ish, <code data-lang=\"fancy\">other</code> otherwise.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">other</code> </label><div>Object or <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> (for short-circuit evaluation) to compare <code data-lang=\"fancy\">self</code> to.</div></div></div>\n\n", lines:[193, 193]}, "or:":{arg:["other"], file:"lib/object.fy", doc:"<p>Boolean disjunction.\nIf <code data-lang=\"fancy\">self</code> is true-ish (non-nil, non-false) returns <code data-lang=\"fancy\">self</code>.\nOtherwise returns <code data-lang=\"fancy\">other</code> (if <code data-lang=\"fancy\">other</code> is a <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code>, calls it first and returns its return value)</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">self</code> if <code data-lang=\"fancy\">self</code> is true-ish, <code data-lang=\"fancy\">other</code> otherwise.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">other</code> </label><div>Object or <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> (for short-circuit evaluation) to compare <code data-lang=\"fancy\">self</code> to.</div></div></div>\n\n", lines:[193, 193]}, "do:":{arg:["block"], file:"lib/object.fy", doc:"<p>Helper method that calls <code data-lang=\"fancy\">block</code> with <code data-lang=\"fancy\">self</code> as the receiver.\nThis allows message cascading like code, e.g.:</p>\n\n<pre><code> some_complex_object do: {\n method_1: arg1\n method_2: arg2\n method_3: arg3\n }\n\n # this is the same as:\n some_complex_object method_1: arg1\n some_complex_object method_2: arg2\n some_complex_object method_3: arg3\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">block</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> to be called in the context of <code data-lang=\"fancy\">self</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", lines:[630, 630]}, "if_false:":{arg:["block"], file:"lib/object.fy", doc:"<p>Does nothing (default behaviour).</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">nil</div></div></div>\n\n\n<p></code></p>\n", lines:[91, 91]}, "sleep:":{arg:["seconds"], file:"lib/object.fy", doc:"<p>Sets the current Thread (in which self is running) for a given amount to sleep.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">seconds</code> </label><div>Amount of seconds to sleep.</div></div></div>\n\n", lines:[661, 661]}, ":?":{arg:["future"], file:"lib/object.fy", doc:"<p>Calls #value on <code data-lang=\"fancy\">future</code>. Shortcut method.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Result of calling #value on <code data-lang=\"fancy\">future</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">future</code> </label><div>Future object to get the value from.</div></div></div>\n\n", lines:[392, 392]}, "extend:":{arg:["class"], file:"lib/rbx/object.fy", doc:"<p>Extends <code data-lang=\"fancy\">self</code> with the methods in <code data-lang=\"fancy\">class</code> (by including its methods in <code data-lang=\"fancy\">self's</code> metaclass).</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">class</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Class\" class=\"class-ref selectable\">Class</code> to extend <code data-lang=\"fancy\">self</code> with.</div></div></div>\n\n", lines:[130, 130]}, "if:then:else:":{arg:["cond", "then_block", "else_block"], file:"lib/object.fy", doc:"<p>Same as:\ncond if_true: then_block else: else_block</p>\n\n<div class=\"doctags\"></div>\n\n", lines:[232, 232]}, "unless:then:":{arg:["cond", "block"], file:"lib/object.fy", doc:"<p>Same as:\ncond if_true: { nil } else: block</p>\n\n<div class=\"doctags\"></div>\n\n", lines:[279, 279]}, "responds_to?:":{arg:["message"], file:"lib/rbx/object.fy", doc:"<p>Indicates if an object responds to a given message.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">true</code> if <code data-lang=\"fancy\">self</code> responds to <code data-lang=\"fancy\">message</code>, <code data-lang=\"fancy\">false</code> otherwise.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">message</code> </label><div>The message to check for (preferably a Symbol).</div></div></div>\n\n", lines:[120, 120]}, ":&&":{arg:["other"], file:"lib/object.fy", doc:"<p>Boolean conjunction.\nIf <code data-lang=\"fancy\">self</code> and <code data-lang=\"fancy\">other</code> are both true-ish (non-nil, non-false), returns <code data-lang=\"fancy\">other</code>.\nIf <code data-lang=\"fancy\">other</code> is a <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code>, calls it and returns its return value.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">other</code> if both <code data-lang=\"fancy\">self</code> and <code data-lang=\"fancy\">other</code> are true-ish, <code data-lang=\"fancy\">self</code> otherwise.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">other</code> </label><div>Object or <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> (for short-circuit evaluation) to compare <code data-lang=\"fancy\">self</code> to.</div></div></div>\n\n", lines:[175, 175]}, "receive_message:with_params:":{arg:["message", "params"], file:"lib/rbx/object.fy", doc:"<p>Dynamically sends a given message with parameters to <code data-lang=\"fancy\">self</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">message</code> </label><div>Name of message to be sent to <code data-lang=\"fancy\">self</code> dynamically.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">params</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> of parameters used with <code data-lang=\"fancy\">message</code>.</div></div></div>\n\n", lines:[109, 109]}, "set_slot:value:":{arg:["slotname", "val"], file:"lib/rbx/object.fy", doc:"<p>Sets an object's slot with a given value.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">slotname</code> </label><div>Name of slot to be set.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">val</code> </label><div>Value for slot to be set.</div></div></div>\n\n", lines:[36, 36]}, "send_future:with_params:":{arg:["message", "params"], file:"lib/object.fy", doc:"<p>Creates a <code data-lang=\"fancy\" data-class-ref=\"FutureSend\" class=\"class-ref selectable\">FutureSend</code> object (a Future / Promise) that will hold the value of sending <code data-lang=\"fancy\">message</code> to <code data-lang=\"fancy\">self</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"FutureSend\" class=\"class-ref selectable\">FutureSend</code> object that will hold the return value of <code data-lang=\"fancy\">message</code> with <code data-lang=\"fancy\">params</code> on <code data-lang=\"fancy\">self</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">message</code> </label><div>Message to be sent as a <code data-lang=\"fancy\" data-class-ref=\"FutureSend\" class=\"class-ref selectable\">FutureSend</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">params</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> of parameters of the <code data-lang=\"fancy\" data-class-ref=\"FutureSend\" class=\"class-ref selectable\">FutureSend</code>.</div></div></div>\n\n", lines:[514, 514]}, "lambda:":{arg:["block"], file:"lib/rbx/object.fy", doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">block</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> to be used as the lambda's body.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Proc\" class=\"class-ref selectable\">Proc</code> with Ruby's lambda semantics (e.g. <code data-lang=\"fancy\">return</code> always becomes <code data-lang=\"fancy\">return_local</code>)</div></div></div>\n\n", lines:[139, 139]}, ":to_i":{arg:[], file:"lib/object.fy", doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Fixnum\" class=\"class-ref selectable\">Fixnum</code> representation of <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", lines:[145, 145]}, "next:":{arg:["value"], file:"lib/object.fy", doc:"<p>Returns <code data-lang=\"fancy\">value</code> for current iteration and skip to the next one.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">value</code> </label><div>Value for next iteration.</div></div></div>\n\n", lines:[426, 426]}, "kind_of?:":{arg:["class"], file:"lib/rbx/object.fy", doc:"<p>Same as Object#is_a?:\nIndicates, if an object is an instance of a given Class.</p>\n\n<div class=\"doctags\"></div>\n\n", lines:[88, 88]}, "if_true:else:":{arg:["then_block", "else_block"], file:"lib/object.fy", doc:"<p>Calls the <code data-lang=\"fancy\">then_block</code> (default behaviour).</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">then_block</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> to be called.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Value of calling <code data-lang=\"fancy\">then_block</code> with <code data-lang=\"fancy\">self</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">else_block</code> </label><div>Does not get called (default behaviour).</div></div></div>\n\n", lines:[81, 81]}, "loop:":{arg:["block"], file:"lib/object.fy", doc:"<p>Infinitely calls the block (loops).</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">block</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> to be called endlessly (loop).</div></div></div>\n\n", lines:[24, 24]}, ":++":{arg:["other"], file:"lib/object.fy", doc:"<p>Returns the <code data-lang=\"fancy\">String</code> concatenation of <code data-lang=\"fancy\">self</code> and <code data-lang=\"fancy\">other</code>.\nCalls to_s on <code data-lang=\"fancy\">self</code> and <code data-lang=\"fancy\">other</code> and concatenates the results to a new <code data-lang=\"fancy\">String</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">String</code> concatenation of <code data-lang=\"fancy\">String</code> values of <code data-lang=\"fancy\">self</code> and <code data-lang=\"fancy\">other</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">other</code> </label><div>Other object to concatenate its <code data-lang=\"fancy\">String</code> value with.</div></div></div>\n\n", lines:[14, 14]}, "if_nil:":{arg:["block"], file:"lib/object.fy", doc:"<p>Does nothing (default behaviour).</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">nil</div></div></div>\n\n\n<p></code></p>\n", lines:[91, 91]}, ":false?":{arg:[], file:"lib/object.fy", doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">false</code>.</div></div></div>\n\n", lines:[121, 121]}, "do:until:":{arg:["body_block", "cond_block"], file:"lib/object.fy", doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">body_block</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> to be called at least once and as long as <code data-lang=\"fancy\">cond_block</code> yields a false-ish value.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">cond_block</code> </label><div>Condition <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> used to determine if <code data-lang=\"fancy\">body_block@</code> should be called again.</div></div></div>\n\n", lines:[269, 269]}, "while:do:":{arg:["cond_block", "body_block"], file:"lib/object.fy", doc:"<p>Same as:\ncond_block while_do: body_block</p>\n\n<div class=\"doctags\"></div>\n\n", lines:[241, 241]}, ":next":{arg:[], file:"lib/object.fy", doc:"<p>Skip to the next iteration.</p>\n\n<div class=\"doctags\"></div>\n\n", lines:[416, 416]}, ":documentation":{arg:[], file:"lib/object.fy", doc:"<p>Returns the <code data-lang=\"fancy\" data-class-ref=\"Fancy\" class=\"class-ref selectable\">Fancy</code> <code data-lang=\"fancy\" data-class-ref=\"Fancy Documentation\" class=\"class-ref selectable\">Documentation</code> object for an Object.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Fancy\" class=\"class-ref selectable\">Fancy</code> <code data-lang=\"fancy\" data-class-ref=\"Fancy Documentation\" class=\"class-ref selectable\">Documentation</code> object for <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", lines:[310, 310]}, "if_false:else:":{arg:["then_block", "else_block"], file:"lib/object.fy", doc:"<p>Calls <code data-lang=\"fancy\">else_block</code> (default behaviour).</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">then_block</code> </label><div>Does not get called (default behaviour).</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Value of calling <code data-lang=\"fancy\">else_block</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">else_block</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> to be called.</div></div></div>\n\n", lines:[102, 102]}, "let:be:in:":{arg:["var_name", "value", "block"], file:"lib/object.fy", doc:"<p>Dynamically rebinds <code data-lang=\"fancy\">var_name</code> as dynamic variable with <code data-lang=\"fancy\">value</code> as the value within <code data-lang=\"fancy\">block</code>.</p>\n\n<p>Example:</p>\n\n<pre><code> File write: \"/tmp/output.txt\" with: |f| {\n let: '*stdout* be: f in: {\n \"hello, world!\" println # writes it to file not STDOUT\n }\n }\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">block</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> in which <code data-lang=\"fancy\">var_name</code> will be dynamically bound to <code data-lang=\"fancy\">value</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Returns <code data-lang=\"fancy\">value</div></div><div</code> class=\"doctag\"><label> <code data-lang=\"fancy\">var_name</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Symbol\" class=\"class-ref selectable\">Symbol</code> that represents the name of the dynamic variable to be set.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">value</code> </label><div>Value for the variable.</div></div></div>\n\n", lines:[681, 681]}}}, "Stack":{doc:"<p>A simple Stack container class.</p>\n\n<div class=\"doctags\"></div>\n\n", ancestors:["Stack", "Object", "Kernel"], methods:{}, instance_methods:{"each:":{arg:["block"], file:"lib/stack.fy", doc:"<p>Calls a given <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> with each element in <code data-lang=\"fancy\">self</code>, starting with the top of stack element.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">block</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> to be called with each element in <code data-lang=\"fancy\">self</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", lines:[78, 78]}, ":empty?":{arg:[], file:"lib/stack.fy", doc:"<p>Indicates, if the Stack is empty.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">true</code> if empty, otherwise <code data-lang=\"fancy\">false</code>.</div></div></div>\n\n", lines:[67, 67]}, ":top":{arg:[], file:"lib/stack.fy", doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>The top-of-stack element.</div></div></div>\n\n", lines:[49, 49]}, ":pop":{arg:[], file:"lib/stack.fy", doc:"<p>Pops the top-of-stack element from the Stack and returns it.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Top-of-stack element.</div></div></div>\n\n", lines:[41, 41]}, ":size":{arg:[], file:"lib/stack.fy", doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Size of the Stack.</div></div></div>\n\n", lines:[57, 57]}, ":<<":{arg:["obj"], file:"lib/stack.fy", doc:"<p>Pushes a value onto the Stack.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">obj</code> </label><div>Object to be pushed onto <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", lines:[29, 29]}, "push:":{arg:["obj"], file:"lib/stack.fy", doc:"<p>Pushes a value onto the Stack.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">obj</code> </label><div>Object to be pushed onto <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", lines:[29, 29]}, ":initialize":{arg:[], file:"lib/stack.fy", doc:"<p>Initializes a new Stack.</p>\n\n<div class=\"doctags\"></div>\n\n", lines:[9, 9]}, "initialize:":{arg:["size"], file:"lib/stack.fy", doc:"<p>Initializes a new Stack with a given size.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">size</code> </label><div>Initial size of the new Stack.</div></div></div>\n\n", lines:[19, 19]}}}, "Float":{doc:"<p>Standard class for floating point number values in Fancy.</p>\n\n<div class=\"doctags\"></div>\n\n", ancestors:["Float", "Number", "Object", "Precision", "Numeric", "Comparable", "Object", "Kernel"], methods:{}, instance_methods:{}}, "Number":{doc:"<p>Number is a mixin-class for all number values (integer &amp; floats for\nnow).</p>\n\n<div class=\"doctags\"></div>\n\n", ancestors:["Number", "Object", "Kernel"], methods:{}, instance_methods:{"downto:":{arg:["num"], file:"lib/number.fy", doc:"<p>Returns an Array with Numbers starting at <code data-lang=\"fancy\">self</code> and going down to <code data-lang=\"fancy\">num</code>.\nExpects <code data-lang=\"fancy\">num</code> to be smaller or equal to <code data-lang=\"fancy\">self</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">num</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Number\" class=\"class-ref selectable\">Number</code> to create an <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> down to.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> containing numbers from <code data-lang=\"fancy\">self</code> down to <code data-lang=\"fancy\">num</code>.</div></div></div>\n\n", lines:[68, 68]}, "upto:":{arg:["num"], file:"lib/number.fy", doc:"<p>Returns an Array with Numbers starting at <code data-lang=\"fancy\">self</code> and going up to <code data-lang=\"fancy\">num</code>.\nExpects <code data-lang=\"fancy\">num</code> to be greater or equal to <code data-lang=\"fancy\">self</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">num</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Number\" class=\"class-ref selectable\">Number</code> to create an <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> up to.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> containing numbers from <code data-lang=\"fancy\">self</code> to <code data-lang=\"fancy\">num</code>.</div></div></div>\n\n", lines:[14, 14]}, "upto:in_steps_of:do:":{arg:["num", "steps", "block"], file:"lib/number.fy", doc:"<p>Calls <code data-lang=\"fancy\">block</code> every <code data-lang=\"fancy\">steps</code> steps between <code data-lang=\"fancy\">self</code> and <code data-lang=\"fancy\">num</code> with the current <code data-lang=\"fancy\" data-class-ref=\"Number\" class=\"class-ref selectable\">Number</code>.\nExpects <code data-lang=\"fancy\">num</code> to be greater or equal to <code data-lang=\"fancy\">self</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">block</code> </label><div>A <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> that should be called every <code data-lang=\"fancy\">steps</code> steps between <code data-lang=\"fancy\">self</code> and <code data-lang=\"fancy\">num</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">num</code> </label><div>Maximum <code data-lang=\"fancy\" data-class-ref=\"Number\" class=\"class-ref selectable\">Number</code> to call <code data-lang=\"fancy\">block</code> with.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">self</div></div><div</code> class=\"doctag\"><label> <code data-lang=\"fancy\">steps</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Number\" class=\"class-ref selectable\">Number</code> of numbers to skip each step.</div></div></div>\n\n", lines:[51, 51]}, "max:":{arg:["other"], file:"lib/number.fy", doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Maximum value of <code data-lang=\"fancy\">self</code> and <code data-lang=\"fancy\">other</code>.</div></div></div>\n\n", lines:[193, 193]}, "upto:do:":{arg:["num", "block"], file:"lib/number.fy", doc:"<p>Calls <code data-lang=\"fancy\">block</code> with each <code data-lang=\"fancy\" data-class-ref=\"Number\" class=\"class-ref selectable\">Number</code> between <code data-lang=\"fancy\">self</code> and <code data-lang=\"fancy\">num</code>.\nExpects <code data-lang=\"fancy\">num</code> to be greater or equal to <code data-lang=\"fancy\">self</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">block</code> </label><div>A <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> that should be called with each <code data-lang=\"fancy\" data-class-ref=\"Number\" class=\"class-ref selectable\">Number</code> between <code data-lang=\"fancy\">self</code> and <code data-lang=\"fancy\">num</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">num</code> </label><div>Maximum <code data-lang=\"fancy\" data-class-ref=\"Number\" class=\"class-ref selectable\">Number</code> to call <code data-lang=\"fancy\">block</code> with.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">self</div></div></div>\n\n\n<p></code></p>\n", lines:[33, 33]}, ":squared":{arg:[], file:"lib/number.fy", doc:"<p>Returns the square of a Number.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Squared value of <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", lines:[121, 121]}, "min:":{arg:["other"], file:"lib/number.fy", doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Minimum value of <code data-lang=\"fancy\">self</code> and <code data-lang=\"fancy\">other</code>.</div></div></div>\n\n", lines:[205, 205]}, ":cubed":{arg:[], file:"lib/number.fy", doc:"<p>Returns the cubed value of a Number.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Cubed value of <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", lines:[141, 141]}, ":negate":{arg:[], file:"lib/number.fy", doc:"<p>Negates a Number (-1 becomes 1 and vice versa).</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Negated value of <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", lines:[165, 165]}, "downto:in_steps_of:do:":{arg:["num", "steps", "block"], file:"lib/number.fy", doc:"<p>Calls <code data-lang=\"fancy\">block</code> every <code data-lang=\"fancy\">steps</code> steps between <code data-lang=\"fancy\">self</code> and <code data-lang=\"fancy\">num</code> with the current <code data-lang=\"fancy\" data-class-ref=\"Number\" class=\"class-ref selectable\">Number</code>.\nExpects <code data-lang=\"fancy\">num</code> to be smaller or equal to <code data-lang=\"fancy\">self</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">block</code> </label><div>A <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> that should be called every <code data-lang=\"fancy\">steps</code> steps between <code data-lang=\"fancy\">self</code> and <code data-lang=\"fancy\">num</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">num</code> </label><div>Minimum <code data-lang=\"fancy\" data-class-ref=\"Number\" class=\"class-ref selectable\">Number</code> to call <code data-lang=\"fancy\">block</code> with.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">self</div></div><div</code> class=\"doctag\"><label> <code data-lang=\"fancy\">steps</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Number\" class=\"class-ref selectable\">Number</code> of numbers to skip each step.</div></div></div>\n\n", lines:[106, 106]}, ":odd?":{arg:[], file:"lib/number.fy", doc:"<p>Indicates, if a Number is odd.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">true</code>, if <code data-lang=\"fancy\">self</code> is odd, <code data-lang=\"fancy\">false</code> otherwise.</div></div></div>\n\n", lines:[185, 185]}, ":even?":{arg:[], file:"lib/number.fy", doc:"<p>Indicates, if a Number is even.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">true</code>, if <code data-lang=\"fancy\">self</code> is even, <code data-lang=\"fancy\">false</code> otherwise.</div></div></div>\n\n", lines:[175, 175]}, "downto:do:":{arg:["num", "block"], file:"lib/number.fy", doc:"<p>Calls <code data-lang=\"fancy\">block</code> with each <code data-lang=\"fancy\" data-class-ref=\"Number\" class=\"class-ref selectable\">Number</code> between <code data-lang=\"fancy\">self</code> and <code data-lang=\"fancy\">num</code>.\nExpects <code data-lang=\"fancy\">num</code> to be smaller or equal to <code data-lang=\"fancy\">self</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">block</code> </label><div>A <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> that should be called with each <code data-lang=\"fancy\" data-class-ref=\"Number\" class=\"class-ref selectable\">Number</code> between <code data-lang=\"fancy\">self</code> and <code data-lang=\"fancy\">num</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">num</code> </label><div>Minimum <code data-lang=\"fancy\" data-class-ref=\"Number\" class=\"class-ref selectable\">Number</code> to call <code data-lang=\"fancy\">block</code> with.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">self</div></div></div>\n\n\n<p></code></p>\n", lines:[87, 87]}, ":doubled":{arg:[], file:"lib/number.fy", doc:"<p>Returns the double value of a Number.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Doubled value of <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", lines:[131, 131]}, ":random":{arg:[], file:"lib/number.fy", doc:"<p>Returns a random number between 0 and <code data-lang=\"fancy\">self</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Random number between 0 and <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", lines:[219, 219]}, ":abs":{arg:[], file:"lib/number.fy", doc:"<p>Returns the absolute (positive) value of a Number.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Absolute (positive) value of <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", lines:[151, 151]}}}, "MatchData":{doc:"<p>MatchData instances are created when using the #=== match operator\n(e.g. by using match/case expressions).</p>\n\n<div class=\"doctags\"></div>\n\n", ancestors:["MatchData", "Unmarshalable", "Object", "Kernel"], methods:{}, instance_methods:{":to_a":{arg:[], file:"lib/rbx/match_data.fy", doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> representation of <code data-lang=\"fancy\">self</code> containing matched values of <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", lines:[22, 22]}, "at:":{arg:["idx"], file:"lib/rbx/match_data.fy", doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">idx</code> </label><div>Index of value to get.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Value at index <code data-lang=\"fancy\">idx</code>.</div></div></div>\n\n", lines:[14, 14]}}}, "FutureSend":{doc:"<p>A <code data-lang=\"fancy\" data-class-ref=\"FutureSend\" class=\"class-ref selectable\">FutureSend</code> gets created whenever an asynchronous message via the <code data-lang=\"fancy\">@</code> operator gets sent, yielding a <code data-lang=\"fancy\" data-class-ref=\"FutureSend\" class=\"class-ref selectable\">FutureSend</code>.\nThey represent Futures/Promises in Fancy.</p>\n\n<p>Example:</p>\n\n<pre><code> f = some_object @ some_method: some_argument\n f class # =&gt; FutureSend\n f value # =&gt; Value returned by some_method, but may block the current Thread if f hasn't completed yet.\n</code></pre>\n\n<div class=\"doctags\"></div>\n\n", ancestors:["FutureSend", "Object", "Kernel"], methods:{}, instance_methods:{"with_value:":{arg:["block"], file:"lib/future.fy", doc:"<p>Registers <code data-lang=\"fancy\">block</code> as a continuation to be called with <code data-lang=\"fancy\">self's</code> value on success.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">block</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> to be registered as a continuation when <code data-lang=\"fancy\">self</code> succeeds.</div></div></div>\n\n", lines:[160, 160]}, "initialize:receiver:message:":{arg:["@actor", "@receiver", "@message"], file:"lib/future.fy", doc:"<p>Forward to message initialize:receiver:message:with_params:</p>\n\n<div class=\"doctags\"></div>\n\n", lines:[21, 21]}, "when_done:":{arg:["block"], file:"lib/future.fy", doc:"<p>Registers <code data-lang=\"fancy\">block</code> as a continuation to be called with <code data-lang=\"fancy\">self's</code> value on success.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">block</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> to be registered as a continuation when <code data-lang=\"fancy\">self</code> succeeds.</div></div></div>\n\n", lines:[160, 160]}, ":value":{arg:[], file:"lib/future.fy", doc:"<p>Returns the value returned by performing <code data-lang=\"fancy\">self</code>.\nWill block the calling <code data-lang=\"fancy\" data-class-ref=\"Thread\" class=\"class-ref selectable\">Thread</code> if <code data-lang=\"fancy\">self</code> hasn't completed or failed yet.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Return value of performing <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", lines:[122, 122]}, ":completed?":{arg:[], file:"lib/future.fy", doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">true</code> if FutureSend completed (success or failure), <code data-lang=\"fancy\">false</code> otherwise.</div></div></div>\n\n", lines:[63, 63]}, ":failure":{arg:[], file:"lib/future.fy", doc:"<p>Returns the <code data-lang=\"fancy\" data-class-ref=\"Exception\" class=\"class-ref selectable\">Exception</code> that caused <code data-lang=\"fancy\">self</code> to fail, or <code data-lang=\"fancy\">nil</code>, if it didn't fail.\nWill block the calling <code data-lang=\"fancy\" data-class-ref=\"Thread\" class=\"class-ref selectable\">Thread</code> if <code data-lang=\"fancy\">self</code> hasn't completed or failed yet.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Exception\" class=\"class-ref selectable\">Exception</code> that caused the FutureSend to fail, or <code data-lang=\"fancy\">nil</code>, if no failure.</div></div></div>\n\n", lines:[104, 104]}, ":succeeded?":{arg:[], file:"lib/future.fy", doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">true</code> if FutureSend completed without failure, <code data-lang=\"fancy\">false</code> otherwise.</div></div></div>\n\n", lines:[75, 75]}, ":failed?":{arg:[], file:"lib/future.fy", doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">true</code> if FutureSend failed, <code data-lang=\"fancy\">false</code> otherwise.</div></div></div>\n\n", lines:[89, 89]}, "when_failed:":{arg:["block"], file:"lib/future.fy", doc:"<p>Registers <code data-lang=\"fancy\">block</code> as a continuation to be called with <code data-lang=\"fancy\">self's</code> fail reason in case of failure.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">block</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> to be registered as a continuation when <code data-lang=\"fancy\">self</code> fails.</div></div></div>\n\n", lines:[143, 143]}}}, "Fancy Package Uninstaller":{doc:"<p><code data-lang=\"fancy\" data-class-ref=\"Fancy\" class=\"class-ref selectable\">Fancy</code> <code data-lang=\"fancy\" data-class-ref=\"Fancy Package\" class=\"class-ref selectable\">Package</code> Uninstaller.</p>\n\n<div class=\"doctags\"></div>\n\n", ancestors:["Fancy Package Uninstaller", "Fancy Package Handler", "Object", "Kernel"], methods:{}, instance_methods:{}}, "Block":{doc:"<p>The Block class (also BlockEnvironment) is the class of all\nBlock-literal values.\nA Block is a piece of unevaluated code, that can be passed around as\nany other value and evaluated by calling the +call+ or +call:+ methods.</p>\n\n<p>Blocks also work properly with their enclosing environment in that\nthey preserve any local variables that get used within the Block,\neven if the context in which they got defined has been destroyed.\n=> Blocks are proper closures.</p>\n\n<p>See: http://en.wikipedia.org/wiki/Closure_(computer_science) for\nmore information.</p>\n\n<div class=\"doctags\"></div>\n\n", ancestors:["Rubinius BlockEnvironment", "Object", "Kernel"], methods:{":name":{arg:[], file:"lib/block.fy", doc:"<p>Block</p>\n\n<div class=\"doctags\"></div>\n\n", lines:[128, 128]}}, instance_methods:{":to_proc":{arg:[], file:"lib/rbx/block.fy", doc:"<p>Turns a <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> into a Ruby Proc object.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Ruby Proc representing <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", lines:[100, 100]}, ":===":{arg:["val"], file:"lib/block.fy", doc:"<p>Matches a <code data-lang=\"fancy\">Block</code> against another object by calling <code data-lang=\"fancy\">self</code> with <code data-lang=\"fancy\">val</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Value of calling <code data-lang=\"fancy\">self</code> with <code data-lang=\"fancy\">val</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">val</code> </label><div>Other object to match <code data-lang=\"fancy\">self</code> against.</div></div></div>\n\n", lines:[118, 118]}, "receiver:":{arg:["recv"], file:"lib/rbx/block.fy", doc:"<p>Sets the receiver (value for <code data-lang=\"fancy\">self</code>) of a <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">recv</code> </label><div>New receiver object for a <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code>.</div></div></div>\n\n", lines:[46, 46]}, ":to_object":{arg:[], file:"lib/block.fy", doc:"<p>Creates and returns a new <code data-lang=\"fancy\" data-class-ref=\"Object\" class=\"class-ref selectable\">Object</code> with slots defined dynamically in <code data-lang=\"fancy\">self</code>.\nLooks and feels similar to Javascript object literals.</p>\n\n<p>Example:</p>\n\n<pre><code> o = {\n something: \"foo bar baz\"\n with: 42\n } to_object\n\n o something # =&gt; \"foo bar baz\"\n o with # =&gt; 42\n</code></pre>\n\n<div class=\"doctags\"></div>\n\n", lines:[152, 152]}, "while_true:":{arg:["block"], file:"lib/block.fy", doc:"<p>Calls <code data-lang=\"fancy\">block</code> while calling <code data-lang=\"fancy\">self</code> yields a <code data-lang=\"fancy\">true-ish</code> value.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">block</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> to call while <code data-lang=\"fancy\">self</code> yields <code data-lang=\"fancy\">true</code>.</div></div></div>\n\n", lines:[39, 39]}, "until_do:":{arg:["block"], file:"lib/block.fy", doc:"<p>Calls a given Block as long as <code data-lang=\"fancy\">self</code> yields <code data-lang=\"fancy\">nil</code> or <code data-lang=\"fancy\">false</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">block</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> to be called while <code data-lang=\"fancy\">self</code> yields <code data-lang=\"fancy\">nil</code> or <code data-lang=\"fancy\">false</code>.</div></div></div>\n\n", lines:[57, 57]}, ":[]":{arg:["args"], file:"lib/block.fy", doc:"<p>Same as Block#call:</p>\n\n<div class=\"doctags\"></div>\n\n", lines:[134, 134]}, "unless:":{arg:["obj"], file:"lib/block.fy", doc:"<p>Opposite of Block#if:. Calls <code data-lang=\"fancy\">self</code> if <code data-lang=\"fancy\">obj</code> is false-ish.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">obj</code> </label><div>Condition object to determine if <code data-lang=\"fancy\">self</code> should not be called.</div></div></div>\n\n", lines:[107, 107]}, ":to_a":{arg:[], file:"lib/block.fy", doc:"<p>Creates and returns a new <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> with values defined dynamically in <code data-lang=\"fancy\">self</code>.\nSimilar to <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> <code data-lang=\"fancy\" data-ruby-singleton-method-ref=\"to_hash\" data-owner-class=\"Block\" class=\"ruby-singleton-method-ref selectable\">to_hash</code> but returning an <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> instead of a <code data-lang=\"fancy\" data-class-ref=\"Hash\" class=\"class-ref selectable\">Hash</code></p>\n\n<p>Example:</p>\n\n<pre><code> a = {\n something: \"foo bar baz\"\n with: 42\n something; else\n } to_a # =&gt; [['something, \"foo bar baz\"], ['with, 42], 'something, 'else]\n</code></pre>\n\n<div class=\"doctags\"></div>\n\n", lines:[202, 202]}, ":to_hash":{arg:[], file:"lib/block.fy", doc:"<p>Creates and returns a new <code data-lang=\"fancy\" data-class-ref=\"Hash\" class=\"class-ref selectable\">Hash</code> with keys and values defined dynamically in <code data-lang=\"fancy\">self</code>.\nSimilar to <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> <code data-lang=\"fancy\" data-ruby-singleton-method-ref=\"object\" data-owner-class=\"Block\" class=\"ruby-singleton-method-ref selectable\">object</code> but returning a <code data-lang=\"fancy\" data-class-ref=\"Hash\" class=\"class-ref selectable\">Hash</code> instead of an <code data-lang=\"fancy\" data-class-ref=\"Object\" class=\"class-ref selectable\">Object</code></p>\n\n<p>Example:</p>\n\n<pre><code> o = {\n something: \"foo bar baz\"\n with: 42\n } to_hash # =&gt; &lt;['something =&gt; \"foo bar baz\", 'with =&gt; 42]&gt;\n</code></pre>\n\n<div class=\"doctags\"></div>\n\n", lines:[168, 168]}, ":&&":{arg:["other_block"], file:"lib/block.fy", doc:"<p>Short-circuiting &amp;&amp; (boolean AND).</p>\n\n<div class=\"doctags\"></div>\n\n", lines:[75, 75]}, "until:":{arg:["block"], file:"lib/block.fy", doc:"<p>Calls <code data-lang=\"fancy\">self</code> while <code data-lang=\"fancy\">block</code> yields <code data-lang=\"fancy\">nil</code> or <code data-lang=\"fancy\">false</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">block</code> </label><div>Condition <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> to be called to determine if <code data-lang=\"fancy\">self</code> should be called.</div></div></div>\n\n", lines:[67, 67]}, "while_nil:":{arg:["block"], file:"lib/block.fy", doc:"<p>Executes a given <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> while self evals to <code data-lang=\"fancy\">nil</code> or <code data-lang=\"fancy\">false</code>.</p>\n\n<p>Example:</p>\n\n<pre><code> i = 0\n { i &gt;= 10 } while_false: {\n i println\n i = i + 1\n }\n</code></pre>\n\n<div class=\"doctags\"></div>\n\n", lines:[27, 27]}, "while_do:":{arg:["block"], file:"lib/block.fy", doc:"<p>Calls <code data-lang=\"fancy\">block</code> while calling <code data-lang=\"fancy\">self</code> yields a <code data-lang=\"fancy\">true-ish</code> value.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">block</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> to call while <code data-lang=\"fancy\">self</code> yields <code data-lang=\"fancy\">true</code>.</div></div></div>\n\n", lines:[39, 39]}, ":receiver":{arg:[], file:"lib/rbx/block.fy", doc:"<p>Returns the receiver of the <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> (value for <code data-lang=\"fancy\">self</code>)</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Receiver object of a <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code>.</div></div></div>\n\n", lines:[37, 37]}, "call:with_receiver:":{arg:["args", "receiver"], file:"lib/rbx/block.fy", doc:"<p>Same as <code data-lang=\"fancy\">call_with_receiver:</code> but passing along arguments to the <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code>.</p>\n\n<p>Example:</p>\n\n<pre><code> r1 = [1,2,3]\n r2 = \"hello world\"\n b = |arg| { self to_s + arg }\n b call: [\"foo\"] with_receiver: r1 # =&gt; \"123foo\"\n b call: [\"foo\"] with_receiver: r2 # =&gt; \"hello worldfoo\"\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">args</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> of arguments passed to <code data-lang=\"fancy\">self</code> for invocation.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">receiver</code> </label><div>Receiver (value of <code data-lang=\"fancy\">self</code>) when calling the <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code>.</div></div></div>\n\n", lines:[86, 86]}, "call_with_receiver:":{arg:["receiver"], file:"lib/rbx/block.fy", doc:"<p>Calls a <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> with <code data-lang=\"fancy\">receiver</code> as the receiver (referenced by <code data-lang=\"fancy\">self</code> within the Block).</p>\n\n<p>Example:</p>\n\n<pre><code> r1 = [1,2,3]\n r2 = \"hello world\"\n b = { self class }\n b call_with_receiver: r1 # =&gt; Array\n b call_with_receiver: r2 # =&gt; String\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">receiver</code> </label><div>Receiver (value of <code data-lang=\"fancy\">self</code>) when calling the <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code>.</div></div></div>\n\n", lines:[64, 64]}, ":to_hash_deep":{arg:[], file:"lib/block.fy", doc:"<p>Creates and returns a new <code data-lang=\"fancy\" data-class-ref=\"Hash\" class=\"class-ref selectable\">Hash</code> with keys and values defined dynamically in <code data-lang=\"fancy\">self</code>.\nSimilar to <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> <code data-lang=\"fancy\" data-ruby-singleton-method-ref=\"to_hash\" data-owner-class=\"Block\" class=\"ruby-singleton-method-ref selectable\">to_hash</code> but converting any value that's a <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> to a <code data-lang=\"fancy\" data-class-ref=\"Hash\" class=\"class-ref selectable\">Hash</code> as well.</p>\n\n<p>Example:</p>\n\n<pre><code> o = {\n something: \"foo bar baz\"\n with: 42\n and: {\n another: 'field\n }\n } to_hash_deep # =&gt; &lt;['something =&gt; \"foo bar baz\", 'with =&gt; 42, 'and =&gt; &lt;['another =&gt; 'field]&gt;]&gt;\n</code></pre>\n\n<div class=\"doctags\"></div>\n\n", lines:[186, 186]}, "if:":{arg:["obj"], file:"lib/block.fy", doc:"<p>Calls <code data-lang=\"fancy\">self</code> if <code data-lang=\"fancy\">obj</code> is true-ish.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">obj</code> </label><div>Condition object to determine if <code data-lang=\"fancy\">self</code> should be called.</div></div></div>\n\n", lines:[97, 97]}, ":||":{arg:["other_block"], file:"lib/block.fy", doc:"<p>Short-circuiting || (boolean OR).</p>\n\n<div class=\"doctags\"></div>\n\n", lines:[85, 85]}, "while_false:":{arg:["block"], file:"lib/block.fy", doc:"<p>Executes a given <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> while self evals to <code data-lang=\"fancy\">nil</code> or <code data-lang=\"fancy\">false</code>.</p>\n\n<p>Example:</p>\n\n<pre><code> i = 0\n { i &gt;= 10 } while_false: {\n i println\n i = i + 1\n }\n</code></pre>\n\n<div class=\"doctags\"></div>\n\n", lines:[27, 27]}}}, "ProxyReceiver":{doc:"<p>A ProxyReceiver is an object which proxies all message sends to it to 2 other objects.\nIt will send each message first to its <code data-lang=\"fancy\">proxy</code> instance variable and then to the <code data-lang=\"fancy\">obj</code> instance variable.</p>\n\n<div class=\"doctags\"></div>\n\n", ancestors:["ProxyReceiver", "Fancy BasicObject", "Object", "Kernel"], methods:{}, instance_methods:{"unknown_message:with_params:":{arg:["msg", "params"], file:"lib/proxy.fy", doc:"<p>Forwards all incoming messages to <code data-lang=\"fancy\">self</code> to <code data-lang=\"fancy\">@proxy</code> and then <code data-lang=\"fancy\">@obj</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">msg</code> </label><div>Incoming message name.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">params</code> </label><div>Paremeters of incoming message send.</div></div></div>\n\n", lines:[24, 24]}, "initialize:for:":{arg:["@proxy", "@obj"], file:"lib/proxy.fy", doc:"<p>Initializes a new ProxyReceiver with <code data-lang=\"fancy\">proxy</code> for <code data-lang=\"fancy\">obj</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">proxy</code> </label><div>Proxy receiver for <code data-lang=\"fancy\">obj</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">obj</code> </label><div>Original receiver object.</div></div></div>\n\n", lines:[16, 16]}}}, "Fancy StopIteration":{doc:"<p>Raised to stop the iteration, in particular by Enumerator#next.\nIt is rescued by Block#loop.</p>\n\n<p>Example:</p>\n\n<pre><code> {\n 'Hello println\n Fancy StopIteration new raise!\n 'World println\n } loop\n 'Done! println\n</code></pre>\n\n<p>Produces:</p>\n\n<pre><code> Hello\n Done!\n</code></pre>\n\n<div class=\"doctags\"></div>\n\n", ancestors:["Fancy StopIteration", "StandardError", "Exception", "Object", "Kernel"], methods:{}, instance_methods:{":result":{arg:[], file:"lib/iteration.fy", doc:"<p>Returns the return value of the iterator.</p>\n\n<p>o = Object new\ndef o each: block {\n block call: [1]\n block call: [2]\n block call: [3]\n 100\n}</p>\n\n<p>e = o to_enum\ne next p #=> 1\ne next p #=> 2\ne next p #=> 3\ntry {\n e next\n} catch Fancy StopIteration => ex {\n ex result p #=> 100\n}</p>\n\n<div class=\"doctags\"></div>\n\n", lines:[80, 80]}}}, "Fancy Package Installer":{doc:"<p><code data-lang=\"fancy\" data-class-ref=\"Fancy\" class=\"class-ref selectable\">Fancy</code> <code data-lang=\"fancy\" data-class-ref=\"Fancy Package\" class=\"class-ref selectable\">Package</code> installer.</p>\n\n<p>Downloads packages from Github (usually the latest tagged version,\nif no version is specified, or the latest HEAD revision in the\nmaster branch) and install it to the <code data-lang=\"fancy\">FANCY_PACKAGE_DIR</code>.</p>\n\n<div class=\"doctags\"></div>\n\n", ancestors:["Fancy Package Installer", "Fancy Package Handler", "Object", "Kernel"], methods:{}, instance_methods:{"rename_dir:":{arg:["dirname"], file:"lib/package/installer.fy", doc:"<p>Renames a given directory to a common way within the install path.\n=> It will rename the given dirname to $user/$repo-$version.</p>\n\n<div class=\"doctags\"></div>\n\n", lines:[136, 136]}, "initialize:version:":{arg:["@package_name", "@version"], file:"lib/package/installer.fy", doc:"<p>Forward to message initialize:version:install_path:</p>\n\n<div class=\"doctags\"></div>\n\n", lines:[22, 22]}, ":tags":{arg:[], file:"lib/package/installer.fy", doc:"<p>Returns a list of tags the repository has on Github.</p>\n\n<div class=\"doctags\"></div>\n\n", lines:[73, 73]}, ":latest_tag":{arg:[], file:"lib/package/installer.fy", doc:"<p>Returns the latest tag (sorted alphabetically).</p>\n\n<div class=\"doctags\"></div>\n\n", lines:[64, 64]}, "initialize:version:install_path:":{arg:["@package_name", "@version", "@install_path"], file:"lib/package/installer.fy", doc:"<p>Creates a new <code data-lang=\"fancy\">Package</code> Installer@ for a given package name, an\noptional version (default is 'latest) and an optional\ninstallation path (default is the standard installation path for\nFancy packages).</p>\n\n<div class=\"doctags\"></div>\n\n", lines:[22, 22]}, ":run":{arg:[], file:"lib/package/installer.fy", doc:"<p>Runs the installer &amp; installs the package into\n<code data-lang=\"fancy\">$FANCY_PACKAGE_DIR</code>.</p>\n\n<div class=\"doctags\"></div>\n\n", lines:[28, 28]}, "download_tgz:":{arg:["version"], file:"lib/package/installer.fy", doc:"<p>Downloads the .tar.gz file from Github with the given version\n(tag or branch name) and saves it to the specified <code data-lang=\"fancy\">install_path</code>.</p>\n\n<p>The Default install_path is ~/.fancy/packages/.\nIf an environment variable <code data-lang=\"fancy\">FANCY_PACKAGE_DIR</code> is defined, it\nwill get used.</p>\n\n<div class=\"doctags\"></div>\n\n", lines:[109, 109]}, "initialize:":{arg:["@package_name"], file:"lib/package/installer.fy", doc:"<p>Forward to message initialize:version:install_path:</p>\n\n<div class=\"doctags\"></div>\n\n", lines:[22, 22]}, "has_version?:":{arg:["version"], file:"lib/package/installer.fy", doc:"<p>Indicates, if a given version is available on Github.</p>\n\n<div class=\"doctags\"></div>\n\n", lines:[83, 83]}, "download_url:":{arg:["version"], file:"lib/package/installer.fy", doc:"<p>Returns the download url for a given version of the package\nto be installed.</p>\n\n<div class=\"doctags\"></div>\n\n", lines:[95, 95]}}}, "Fancy NextIteration":{doc:"<p>Raised to continue with next iteration (and stopping the current one).\nIt is rescued by Block#loop.</p>\n\n<div class=\"doctags\"></div>\n\n", ancestors:["Fancy NextIteration", "StandardError", "Exception", "Object", "Kernel"], methods:{}, instance_methods:{}}, "Thread":{doc:"<p>Thread class.\nDeals with parallel execution.</p>\n\n<p>TODO:\n=> Still need to add more Fancy-ish wrapper methods and method\n documentation.</p>\n\n<div class=\"doctags\"></div>\n\n", ancestors:["Thread", "Object", "Kernel"], methods:{"sleep:":{arg:["seconds"], file:"lib/rbx/thread.fy", doc:"<p>Sets the Fancy process for a given amount of seconds to sleep.</p>\n\n<div class=\"doctags\"></div>\n\n", lines:[85, 85]}}, instance_methods:{}}, "FalseClass":{doc:"<p>FalseClass. The class of the singleton <code data-lang=\"fancy\">false</code> value.</p>\n\n<div class=\"doctags\"></div>\n\n", ancestors:["FalseClass", "ImmediateValue", "Object", "Kernel"], methods:{}, instance_methods:{":inspect":{arg:[], file:"lib/false_class.fy", doc:"<p>Returns <code data-lang=\"fancy\">false</code> as a <code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code>.</p>\n\n<div class=\"doctags\"></div>\n\n", lines:[44, 44]}, "if_true:else:":{arg:["then_block", "else_block"], file:"lib/false_class.fy", doc:"<p>Calls <code data-lang=\"fancy\">else_block</code>.</p>\n\n<div class=\"doctags\"></div>\n\n", lines:[18, 18]}, ":false?":{arg:[], file:"lib/false_class.fy", doc:"<p>Returns <code data-lang=\"fancy\">true</code>.</p>\n\n<div class=\"doctags\"></div>\n\n", lines:[39, 39]}, ":not":{arg:[], file:"lib/false_class.fy", doc:"<p>Boolean negation of <code data-lang=\"fancy\">false</code> => <code data-lang=\"fancy\">true</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">true</div></div></div>\n\n\n<p></code></p>\n", lines:[60, 60]}, ":to_a":{arg:[], file:"lib/false_class.fy", doc:"<p>Returns an empty <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code>.</p>\n\n<div class=\"doctags\"></div>\n\n", lines:[51, 51]}, ":to_s":{arg:[], file:"lib/false_class.fy", doc:"<p>Returns <code data-lang=\"fancy\">false</code> as a <code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code>.</p>\n\n<div class=\"doctags\"></div>\n\n", lines:[44, 44]}, "if_true:":{arg:["block"], file:"lib/false_class.fy", doc:"<p>Returns <code data-lang=\"fancy\">nil</code>.</p>\n\n<div class=\"doctags\"></div>\n\n", lines:[13, 13]}}}, "Actor":{doc:"<p>Primitive Actor class.\nActors can be sent messages asynchronously. They process incoming messages\n(which can be any object, including Tuples, Arrays, Numbers ...) in a\nfirst-come, first-serve manner.</p>\n\n<p>Actors are used to implement asynchronous and future message sends in Fancy\nusing the <code data-lang=\"fancy\">@</code> and <code data-lang=\"fancy\">@@</code> syntax.</p>\n\n<p>Example usage:</p>\n\n<p> a = Actor spawn: {</p>\n\n<pre><code> loop: {\n match Actor receive {\n case 'hello -&gt; \"Hello World\" println\n case 'quit -&gt;\n \"OK, done!\" println\n break # Quit loop and let actor die\n }\n }\n</code></pre>\n\n<p> }</p>\n\n<p> 10 times: {</p>\n\n<pre><code> a ! 'hello # send 'hello to actor asynchronously\n</code></pre>\n\n<p> }\n a ! 'quit</p>\n\n<div class=\"doctags\"></div>\n\n", ancestors:["Actor", "Object", "Kernel"], methods:{"spawn:":{arg:["block"], file:"lib/rbx/actor.fy", doc:"<p>Example usage:</p>\n\n<pre><code> Actor spawn: {\n loop: {\n Actor receive println # print all incoming messages\n }\n }\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">block</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> that represents the <code data-lang=\"fancy\" data-class-ref=\"Actor\" class=\"class-ref selectable\">Actor</code>'s code body to be executed in a new <code data-lang=\"fancy\" data-class-ref=\"Thread\" class=\"class-ref selectable\">Thread</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>A new <code data-lang=\"fancy\" data-class-ref=\"Actor\" class=\"class-ref selectable\">Actor</code> running <code data-lang=\"fancy\">block</code> in a seperate <code data-lang=\"fancy\" data-class-ref=\"Thread\" class=\"class-ref selectable\">Thread</code>.</div></div></div>\n\n", lines:[49, 49]}}, instance_methods:{}}, "Date":{doc:"<p>Date class. Used for timely stuff.</p>\n\n<div class=\"doctags\"></div>\n\n", ancestors:["Date", "Comparable", "Object", "Kernel"], methods:{}, instance_methods:{":!=":{arg:["other"], file:"lib/rbx/date.fy", doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">true</code> if equal, <code data-lang=\"fancy\">false</code> otherwhise.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">other</code> </label><div>Other <code data-lang=\"fancy\" data-class-ref=\"Date\" class=\"class-ref selectable\">Date</code> to compare to.</div></div></div>\n\n", lines:[18, 18]}}}, "TrueClass":{doc:"<p>TrueClass. The class of the singleton <code data-lang=\"fancy\">true</code> value.</p>\n\n<div class=\"doctags\"></div>\n\n", ancestors:["TrueClass", "ImmediateValue", "Object", "Kernel"], methods:{":new":{arg:[], file:"lib/true_class.fy", doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">true</code>.</div></div></div>\n\n", lines:[9, 9]}}, instance_methods:{":inspect":{arg:[], file:"lib/true_class.fy", doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">true</code> as a <code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code>.</div></div></div>\n\n", lines:[50, 50]}, "if_true:else:":{arg:["then_block", "else_block"], file:"lib/true_class.fy", doc:"<p>Calls <code data-lang=\"fancy\">then_block</code> with <code data-lang=\"fancy\">self</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">then_block</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> to be called with <code data-lang=\"fancy\">self</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Value of calling <code data-lang=\"fancy\">then_block</code> with <code data-lang=\"fancy\">self</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">else_block</code> </label><div>Gets ignored.</div></div></div>\n\n", lines:[34, 34]}, ":not":{arg:[], file:"lib/true_class.fy", doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">false</code>.</div></div></div>\n\n", lines:[68, 68]}, ":to_a":{arg:[], file:"lib/true_class.fy", doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>An empty <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code>.</div></div></div>\n\n", lines:[60, 60]}, ":to_s":{arg:[], file:"lib/true_class.fy", doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">true</code> as a <code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code>.</div></div></div>\n\n", lines:[50, 50]}, ":true?":{arg:[], file:"lib/true_class.fy", doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">true</code>.</div></div></div>\n\n", lines:[42, 42]}, "if_true:":{arg:["block"], file:"lib/true_class.fy", doc:"<p>Calls <code data-lang=\"fancy\">block</code> with <code data-lang=\"fancy\">self</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">block</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> to be called with <code data-lang=\"fancy\">self</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Value of calling <code data-lang=\"fancy\">block</code> with <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", lines:[22, 22]}}}, "DynamicKeyHash":{doc:"<p>Helper class to dynamically create <code data-lang=\"fancy\" data-class-ref=\"Hash\" class=\"class-ref selectable\">Hash</code>es with keys and values defined by sending messages to it.</p>\n\n<p>Example:</p>\n\n<pre><code> dkh = DynamicKeyHash new\n dkh name: \"Chris\"\n dkh age: 25\n dkh country: \"Germany\"\n dkh hash # =&gt; &lt;['name =&gt; \"Chris\", 'age =&gt; 25, 'country =&gt; \"Germany\"]&gt;\n</code></pre>\n\n<div class=\"doctags\"></div>\n\n", ancestors:["DynamicKeyHash", "Fancy BasicObject", "Object", "Kernel"], methods:{}, instance_methods:{":initialize":{arg:[], file:"lib/dynamic_slot_object.fy", doc:"<p>Forward to message initialize:</p>\n\n<div class=\"doctags\"></div>\n\n", lines:[41, 41]}}}, "Fancy MessageSink":{doc:"<p>A MessageSink just swallows all messages that are sent to it.</p>\n\n<div class=\"doctags\"></div>\n\n", ancestors:["Fancy MessageSink", "Fancy BasicObject", "Object", "Kernel"], methods:{}, instance_methods:{"unknown_message:with_params:":{arg:["m", "p"], file:"lib/message_sink.fy", doc:"<p><code data-lang=\"fancy\">m</code> Message sent to <code data-lang=\"fancy\">self</code>.\n<code data-lang=\"fancy\">p</code> <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> of parameters sent along with <code data-lang=\"fancy\">m</code>.</p>\n\n<p>Catches all messages and arguments and simply always returns <code data-lang=\"fancy\">self</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", lines:[14, 14]}}}, "Hash":{doc:"<p>Class for Hashes (HashMaps / Dictionaries).\nMaps a key to a value.</p>\n\n<div class=\"doctags\"></div>\n\n", ancestors:["Hash", "Fancy Enumerable", "Object", "Enumerable", "Object", "Kernel"], methods:{}, instance_methods:{"at:else_put:":{arg:["key", "else_block"], file:"lib/hash.fy", doc:"<p>Example:</p>\n\n<pre><code> h = &lt;['foo =&gt; 'bar]&gt;\n h at: 'foo else_put: { 42 } # =&gt; 'bar\n h['foo] # =&gt; 'bar\n h at: 'undefined else_put: { 42 } # =&gt; 42\n h['undefined] # =&gt; 42\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">key</code> </label><div>Key of value to get.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">else_block</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> that gets called and its value inserted into <code data-lang=\"fancy\">self</code> if <code data-lang=\"fancy\">key</code> not in <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", lines:[58, 58]}, "each:":{arg:["block"], file:"lib/hash.fy", doc:"<p>Calls a given <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> with each key and value.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">block</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> to be called with each key and value in <code data-lang=\"fancy\">self</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">self</div></div></div>\n\n\n<p></code></p>\n", lines:[74, 74]}, "fetch:else:":{arg:["key", "else_block"], file:"lib/hash.fy", doc:"<p>Returns the value for a given key.\nIf the key is not found, calls <code data-lang=\"fancy\">else_block</code> and returns the value it yields.</p>\n\n<p>Example:</p>\n\n<pre><code> &lt;['foo =&gt; 'bar]&gt; at: 'foo else: { 42 } # =&gt; 'bar\n &lt;['foo =&gt; 'bar]&gt; at: 'unknown else: { 42 } # =&gt; 42\n &lt;['nil =&gt; nil]&gt; at: 'nil else: { 'not_found } # =&gt; nil\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">key</code> </label><div>Key of the value to get.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Value for <code data-lang=\"fancy\">key</code> or value of calling <code data-lang=\"fancy\">else_block</code>, if <code data-lang=\"fancy\">key</code> is not found.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">else_block</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> to be called if <code data-lang=\"fancy\">key</code> is not found.</div></div></div>\n\n", lines:[36, 36]}, "includes?:":{arg:["key"], file:"lib/rbx/hash.fy", doc:"<p>Indicates if a given key is in <code data-lang=\"fancy\">self</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">key</code> </label><div>Key to search for.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">true</code>, if Hash includes <code data-lang=\"fancy\">key</code>, <code data-lang=\"fancy\">false</code> otherwise.</div></div></div>\n\n", lines:[50, 50]}, "delete:":{arg:["key"], file:"lib/rbx/hash.fy", doc:"<p>Deletes a key-value pair from <code data-lang=\"fancy\">self</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">key</code> </label><div>Key of key-value pair to be deleted in <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", lines:[31, 31]}, ":to_object":{arg:[], file:"lib/hash.fy", doc:"<p>Creates and returns a new <code data-lang=\"fancy\" data-class-ref=\"Object\" class=\"class-ref selectable\">Object</code> with slot names and values based on keys and values in <code data-lang=\"fancy\">self</code>.</p>\n\n<p>Example:</p>\n\n<pre><code> o = &lt;['name =&gt; \"Christopher Bertels\", 'interest =&gt; \"programming languages\"]&gt; to_object\n o name # =&gt; \"Christopher Bertels\"\n o interest # =&gt; 42\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>New <code data-lang=\"fancy\" data-class-ref=\"Object\" class=\"class-ref selectable\">Object</code> with slots defined by keys and values in <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", lines:[132, 132]}, "each_key:":{arg:["block"], file:"lib/hash.fy", doc:"<p>Calls a given <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> with each key.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">block</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> to be called with each key in <code data-lang=\"fancy\">self</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">self</div></div></div>\n\n\n<p></code></p>\n", lines:[94, 94]}, "values_at:":{arg:["keys"], file:"lib/hash.fy", doc:"<p>Example:</p>\n\n<pre><code> &lt;['foo =&gt; 1, 'bar =&gt; 2, 'baz =&gt; 42]&gt; values_at: ('foo, 'baz) # =&gt; [1, 42]\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> of all values for the given keys.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">keys</code> </label><div>Collection of keys to get the values for.</div></div></div>\n\n", lines:[162, 162]}, ":[]":{arg:["key"], file:"lib/hash.fy", doc:"<p>Returns the value for a given key.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">key</code> </label><div>Key for value to get.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Value for given <code data-lang=\"fancy\">key</code> or <code data-lang=\"fancy\">nil</code>, if <code data-lang=\"fancy\">key</code> not set.</div></div></div>\n\n", lines:[18, 18]}, "fetch:else_put:":{arg:["key", "else_block"], file:"lib/hash.fy", doc:"<p>Example:</p>\n\n<pre><code> h = &lt;['foo =&gt; 'bar]&gt;\n h at: 'foo else_put: { 42 } # =&gt; 'bar\n h['foo] # =&gt; 'bar\n h at: 'undefined else_put: { 42 } # =&gt; 42\n h['undefined] # =&gt; 42\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">key</code> </label><div>Key of value to get.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">else_block</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> that gets called and its value inserted into <code data-lang=\"fancy\">self</code> if <code data-lang=\"fancy\">key</code> not in <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", lines:[58, 58]}, "each_value:":{arg:["block"], file:"lib/hash.fy", doc:"<p>Calls a given <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> with each value.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">block</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> to be called with each value in <code data-lang=\"fancy\">self</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">self</div></div></div>\n\n\n<p></code></p>\n", lines:[106, 106]}, ":to_a":{arg:[], file:"lib/hash.fy", doc:"<p>Returns an <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> of the key-value pairs in a <code data-lang=\"fancy\" data-class-ref=\"Hash\" class=\"class-ref selectable\">Hash</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> of all key-value pairs in <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", lines:[117, 117]}, "at:else:":{arg:["key", "else_block"], file:"lib/hash.fy", doc:"<p>Returns the value for a given key.\nIf the key is not found, calls <code data-lang=\"fancy\">else_block</code> and returns the value it yields.</p>\n\n<p>Example:</p>\n\n<pre><code> &lt;['foo =&gt; 'bar]&gt; at: 'foo else: { 42 } # =&gt; 'bar\n &lt;['foo =&gt; 'bar]&gt; at: 'unknown else: { 42 } # =&gt; 42\n &lt;['nil =&gt; nil]&gt; at: 'nil else: { 'not_found } # =&gt; nil\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">key</code> </label><div>Key of the value to get.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Value for <code data-lang=\"fancy\">key</code> or value of calling <code data-lang=\"fancy\">else_block</code>, if <code data-lang=\"fancy\">key</code> is not found.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">else_block</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> to be called if <code data-lang=\"fancy\">key</code> is not found.</div></div></div>\n\n", lines:[36, 36]}}}, "MethodMixin":{doc:"<p>Mixin class with common methods included by <code data-lang=\"fancy\" data-class-ref=\"Method\" class=\"class-ref selectable\">Method</code> and <code data-lang=\"fancy\" data-class-ref=\"UnboundMethod\" class=\"class-ref selectable\">UnboundMethod</code>.</p>\n\n<div class=\"doctags\"></div>\n\n", ancestors:["MethodMixin", "Object", "Kernel"], methods:{}, instance_methods:{":visibility":{arg:[], file:"lib/rbx/method.fy", doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>The visibility (<code data-lang=\"fancy\">'private</code>, <code data-lang=\"fancy\">'protected</code>, <code data-lang=\"fancy\">'public</code>) of a <code data-lang=\"fancy\" data-class-ref=\"Method\" class=\"class-ref selectable\">Method</code> in its defined context, if any.</div></div></div>\n\n", lines:[25, 25]}, ":private?":{arg:[], file:"lib/rbx/method.fy", doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">true</code>, if the <code data-lang=\"fancy\" data-class-ref=\"Method\" class=\"class-ref selectable\">Method</code> is private in its defined context.</div></div></div>\n\n", lines:[47, 47]}, ":tests":{arg:[], file:"lib/rbx/method.fy", doc:"<p>Returns an Array of all the FancySpec SpecTests defined for a\nMethod.</p>\n\n<div class=\"doctags\"></div>\n\n", lines:[55, 55]}, ":public?":{arg:[], file:"lib/rbx/method.fy", doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">true</code>, if the <code data-lang=\"fancy\" data-class-ref=\"Method\" class=\"class-ref selectable\">Method</code> is public in its defined context.</div></div></div>\n\n", lines:[33, 33]}, ":protected?":{arg:[], file:"lib/rbx/method.fy", doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">true</code>, if the <code data-lang=\"fancy\" data-class-ref=\"Method\" class=\"class-ref selectable\">Method</code> is protected in its defined context.</div></div></div>\n\n", lines:[40, 40]}, "documentation:":{arg:["docstring"], file:"lib/rbx/method.fy", doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">docstring</code> </label><div>New docstring for <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", lines:[17, 17]}, ":documentation":{arg:[], file:"lib/rbx/method.fy", doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Docstring for <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", lines:[9, 9]}}}, "Integer":{doc:"<p>Base class for integer values in Fancy.</p>\n\n<div class=\"doctags\"></div>\n\n", ancestors:["Integer", "Precision", "Numeric", "Comparable", "Object", "Kernel"], methods:{}, instance_methods:{"times:offset:":{arg:["block", "offset"], file:"lib/integer.fy", doc:"<p>Similar to #times: but starts at a given offset.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">block</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> to be called with each number between <code data-lang=\"fancy\">offset</code> and <code data-lang=\"fancy\">self</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">self</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">offset</code> </label><div>Offset to be used as starting point of iteration.</div></div></div>\n\n", lines:[13, 13]}, "times:":{arg:["block"], file:"lib/rbx/integer.fy", doc:"<p>Calls a given <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> with each number between 0 and <code data-lang=\"fancy\">self</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">block</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> to be called with each number between 0 and <code data-lang=\"fancy\">self</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">self</div></div></div>\n\n\n<p></code></p>\n", lines:[10, 10]}, "times_try:":{arg:["block"], file:"lib/integer.fy", doc:"<p>Forward to message times_try:retry_with:</p>\n\n<div class=\"doctags\"></div>\n\n", lines:[20, 20]}, "times_try:retry_with:":{arg:["block", "retry_block"], file:"lib/integer.fy", doc:"<p>Returns <code data-lang=\"fancy\">nil</code> if <code data-lang=\"fancy\">self</code> &lt;= 0.</p>\n\n<p>Tries to call a <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> <code data-lang=\"fancy\">self</code> amount of times, returning its return\nvalue or raising the last exception raised frin <code data-lang=\"fancy\">block</code> after <code data-lang=\"fancy\">self</code> tries.</p>\n\n<p>Example:</p>\n\n<pre><code> 2 times_try: {\n</code></pre>\n\n<h1>this code will be tried 2 times.</h1>\n\n<h1>if it succeeds the first time, simply return its value, otherwise try once more.</h1>\n\n<h1>if it still fails after 2 attempts, raises the exception thrown (in this case probably an IOError).</h1>\n\n<pre><code> } retry_with: { &lt;code data-lang=\"fancy\"&gt;connection&lt;/code&gt; reconnect }\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">block</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> to be called and retries <code data-lang=\"fancy\">self</code> amount of times if exceptions get thrown.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">connection</code> </label><div>readln</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Return value of calling <code data-lang=\"fancy\">block</code> or raises an exception after <code data-lang=\"fancy\">self</code> tries.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">retry_block</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> to be called before retrying execution of <code data-lang=\"fancy\">block</code>. Defaults to an empty <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code>.</div></div></div>\n\n", lines:[37, 37]}}}, "Exception":{doc:"<p>Base Exception class.\nAll Exception classes inherit from <code data-lang=\"fancy\" data-class-ref=\"Exception\" class=\"class-ref selectable\">Exception</code>.</p>\n\n<div class=\"doctags\"></div>\n\n", ancestors:["Exception", "Object", "Kernel"], methods:{}, instance_methods:{}}, "Bignum":{doc:"<p>Class for large integer values in Fancy.</p>\n\n<div class=\"doctags\"></div>\n\n", ancestors:["Bignum", "Number", "Object", "Integer", "Precision", "Numeric", "Comparable", "Object", "Kernel"], methods:{}, instance_methods:{}}, "Class":{doc:"<p>This class is the class of <code data-lang=\"fancy\" data-class-ref=\"Class\" class=\"class-ref selectable\">Class</code> objects - e.g. <code data-lang=\"fancy\" data-class-ref=\"Object\" class=\"class-ref selectable\">Object</code>, <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code>,\n<code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code> etc.\nAny class in the language is an instance of this class, as in Ruby\nor Smalltalk.</p>\n\n<div class=\"doctags\"></div>\n\n", ancestors:["Class", "Module", "Object", "Kernel"], methods:{"superclass:body:":{arg:["superclass", "body_block"], file:"lib/rbx/class.fy", doc:"<p>Creates a new <code data-lang=\"fancy\" data-class-ref=\"Class\" class=\"class-ref selectable\">Class</code> by subclassing <code data-lang=\"fancy\">superclass</code> and\nusing <code data-lang=\"fancy\">body_block</code> as its body.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">body_block</code> </label><div>A <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> that is used as the body of the new <code data-lang=\"fancy\" data-class-ref=\"Class\" class=\"class-ref selectable\">Class</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>A new <code data-lang=\"fancy\" data-class-ref=\"Class\" class=\"class-ref selectable\">Class</code> inherited from <code data-lang=\"fancy\">superclass</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">superclass</code> </label><div>The superclass to inherit from.</div></div></div>\n\n", lines:[38, 38]}}, instance_methods:{":inspect":{arg:[], file:"lib/class.fy", doc:"<p>Example:</p>\n\n<pre><code> Fixnum inspect # =&gt; \"Fixnum : Integer\"\n Object inspect # =&gt; \"Object\"\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Name of class and its superclass as a <code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code>.</div></div></div>\n\n", lines:[216, 216]}, "undefine_class_method:":{arg:["name"], file:"lib/rbx/class.fy", doc:"<p>Undefines a class method on a <code data-lang=\"fancy\" data-class-ref=\"Class\" class=\"class-ref selectable\">Class</code> with a given name.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">name</code> </label><div>Name of the class method to undefine (remove).</div></div></div>\n\n", lines:[96, 96]}, "undefine_method:":{arg:["name"], file:"lib/rbx/class.fy", doc:"<p>Undefines an instance method on a Class with a given name.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">name</code> </label><div>Name of the method to undefine (remove) from a <code data-lang=\"fancy\" data-class-ref=\"Class\" class=\"class-ref selectable\">Class</code>.</div></div></div>\n\n", lines:[74, 74]}, "public:":{arg:["method_names"], file:"lib/rbx/class.fy", doc:"<p>Sets any given method names to public on this <code data-lang=\"fancy\" data-class-ref=\"Class\" class=\"class-ref selectable\">Class</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">method_names</code> </label><div>One or more (<code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code>) method names (as a <code data-lang=\"fancy\" data-class-ref=\"Symbol\" class=\"class-ref selectable\">Symbol</code>) to be set to public in this <code data-lang=\"fancy\" data-class-ref=\"Class\" class=\"class-ref selectable\">Class</code>.</div></div></div>\n\n", lines:[154, 154]}, "private:":{arg:["method_names"], file:"lib/rbx/class.fy", doc:"<p>Sets any given method names to private on this <code data-lang=\"fancy\" data-class-ref=\"Class\" class=\"class-ref selectable\">Class</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">method_names</code> </label><div>One or more (<code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code>) method names (as a <code data-lang=\"fancy\" data-class-ref=\"Symbol\" class=\"class-ref selectable\">Symbol</code>) to be set to private in this <code data-lang=\"fancy\" data-class-ref=\"Class\" class=\"class-ref selectable\">Class</code>.</div></div></div>\n\n", lines:[166, 166]}, "read_write_slots:":{arg:["slots"], file:"lib/class.fy", doc:"<p>Defines slot reader &amp; writer methods for all given slotnames.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">slots</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> of slotnames to define getter & setter methods for.</div></div></div>\n\n", lines:[92, 92]}, ":instance_methods":{arg:[], file:"lib/rbx/class.fy", doc:"<p>Forward to message instance_methods:</p>\n\n<div class=\"doctags\"></div>\n\n", lines:[185, 185]}, "write_slot:":{arg:["slotname"], file:"lib/class.fy", doc:"<p>Defines a slot writer method for a given slotname.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">slotname</code> </label><div>Name of slot to define a setter method for.</div></div></div>\n\n", lines:[82, 82]}, ":new":{arg:[], file:"lib/rbx/class.fy", doc:"<p>Creates a new <code data-lang=\"fancy\" data-class-ref=\"Class\" class=\"class-ref selectable\">Class</code> instance by subclassing <code data-lang=\"fancy\" data-class-ref=\"Object\" class=\"class-ref selectable\">Object</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>A new <code data-lang=\"fancy\" data-class-ref=\"Class\" class=\"class-ref selectable\">Class</code> subclassed from <code data-lang=\"fancy\" data-class-ref=\"Object\" class=\"class-ref selectable\">Object</code>.</div></div></div>\n\n", lines:[9, 9]}, "read_write_slot:":{arg:["slotname"], file:"lib/class.fy", doc:"<p>Defines slot reader &amp; writer methods for a given slotname.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">slotname</code> </label><div>Name of slot to define getter & setter methods for.</div></div></div>\n\n", lines:[105, 105]}, ":forwards_unary_ruby_methods":{arg:[], file:"lib/rbx/class.fy", doc:"<p>Creates ruby_alias methods for any unary ruby methods of a class.</p>\n\n<div class=\"doctags\"></div>\n\n", lines:[206, 206]}, "define_class_method:with:":{arg:["name", "block"], file:"lib/rbx/class.fy", doc:"<p>Defines a class method on a <code data-lang=\"fancy\" data-class-ref=\"Class\" class=\"class-ref selectable\">Class</code> (a singleton method) with a\ngiven name and body.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">block</code> </label><div>A <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> to be used as the class methods body.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">name</code> </label><div>Name of the class method to be defined.</div></div></div>\n\n", lines:[86, 86]}, "instance_method:":{arg:["name"], file:"lib/rbx/class.fy", doc:"<p>Returns an instance method for a <code data-lang=\"fancy\" data-class-ref=\"Class\" class=\"class-ref selectable\">Class</code> with a given name.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>The instance <code data-lang=\"fancy\" data-class-ref=\"Method\" class=\"class-ref selectable\">Method</code> with the given <code data-lang=\"fancy\">name</code> or <code data-lang=\"fancy\">nil</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">name</code> </label><div>Name of the instance method to return.</div></div></div>\n\n", lines:[128, 128]}, "instance_methods:":{arg:["include_superclasses?"], file:"lib/rbx/class.fy", doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> of all instance method names for this <code data-lang=\"fancy\" data-class-ref=\"Class\" class=\"class-ref selectable\">Class</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">include_superclasses?</code> </label><div>Boolean indicating if instance methods of all superclasses should be included (defaults to <code data-lang=\"fancy\">true</code>).</div></div></div>\n\n", lines:[189, 189]}, ":methods":{arg:[], file:"lib/rbx/class.fy", doc:"<p>Forward to message methods:</p>\n\n<div class=\"doctags\"></div>\n\n", lines:[194, 194]}, "define_slot_writer:":{arg:["slotname"], file:"lib/class.fy", doc:"<p>Defines a slot writer method with a given name.\nE.g. for a slotname <code data-lang=\"fancy\">count</code> it will define the following method:</p>\n\n<pre><code> def count: c {\n set_slot: 'count value: c\n }\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">slotname</code> </label><div>Name of the slot to defnie define a setter method for.</div></div></div>\n\n", lines:[36, 36]}, "protected:":{arg:["method_names"], file:"lib/rbx/class.fy", doc:"<p>Sets any given method names to protected on this <code data-lang=\"fancy\" data-class-ref=\"Class\" class=\"class-ref selectable\">Class</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">method_names</code> </label><div>One or more (<code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code>) method names (as a <code data-lang=\"fancy\" data-class-ref=\"Symbol\" class=\"class-ref selectable\">Symbol</code>) to be set to protected in this <code data-lang=\"fancy\" data-class-ref=\"Class\" class=\"class-ref selectable\">Class</code>.</div></div></div>\n\n", lines:[178, 178]}, "read_slot:":{arg:["slotname"], file:"lib/class.fy", doc:"<p>Defines a slot reader method for a given slotname.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">slotname</code> </label><div>Name of slot to define a getter method for.</div></div></div>\n\n", lines:[60, 60]}, "initialize:":{arg:["superclass"], file:"lib/rbx/class.fy", doc:"<p>Initializes a <code data-lang=\"fancy\" data-class-ref=\"Class\" class=\"class-ref selectable\">Class</code> with a superclass.</p>\n\n<div class=\"doctags\"></div>\n\n", lines:[53, 53]}, "alias_method:for_ruby:":{arg:["new_method_name", "ruby_method_name"], file:"lib/rbx/class.fy", doc:"<p>Creates a method alias for a Ruby method.</p>\n\n<div class=\"doctags\"></div>\n\n", lines:[145, 145]}, "subclass?:":{arg:["class_obj"], file:"lib/class.fy", doc:"<p>Indicates, if a Class is a subclass of another Class.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">class_obj</code> </label><div>Class object to check for, if <code data-lang=\"fancy\">self</code> is a subclass of <code data-lang=\"fancy\">class_obj</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">true</code>, if <code data-lang=\"fancy\">self</code> is a subclass of <code data-lang=\"fancy\">class_obj</code>, <code data-lang=\"fancy\">false</code> otherwise.</div></div></div>\n\n", lines:[134, 134]}, "define_slot_reader:":{arg:["slotname"], file:"lib/class.fy", doc:"<p>Defines a slot reader method with a given name.\nE.g. for a slotname <code data-lang=\"fancy\">count</code> it will define the following method:</p>\n\n<pre><code> def count {\n get_slot: 'count\n }\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">slotname</code> </label><div>Name of the slot to define a getter method for.</div></div></div>\n\n", lines:[20, 20]}, "delegate:to_slot:":{arg:["methods", "slotname"], file:"lib/class.fy", doc:"<p>Example:</p>\n\n<pre><code> class MyClass {\n delegate: ('to_s, 'inspect) to_slot: 'my_slot\n def initialize: &lt;code data-lang=\"fancy\"&gt;my_slot&lt;/code&gt;\n }\n\n m = MyClass new: [1, 2, 3]\n m to_s # =&gt; \"123\"\n m inspect # =&gt; \"[1, 2, 3]\"\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">slotname</code> </label><div>Name of slot to delegate <code data-lang=\"fancy\">methods</code> to.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">methods</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Fancy\" class=\"class-ref selectable\">Fancy</code> <code data-lang=\"fancy\" data-class-ref=\"Fancy Enumerable\" class=\"class-ref selectable\">Enumerable</code> of method names to be delegated.</div></div></div>\n\n", lines:[171, 171]}, "define_method:with:":{arg:["name", "block"], file:"lib/rbx/class.fy", doc:"<p>Defines an instance method on a <code data-lang=\"fancy\" data-class-ref=\"Class\" class=\"class-ref selectable\">Class</code> with a given name and\nbody.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">block</code> </label><div>A <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> that is used as the method's body.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">name</code> </label><div>Name of the method to be defined.</div></div></div>\n\n", lines:[64, 64]}, "write_slots:":{arg:["slots"], file:"lib/class.fy", doc:"<p>Defines slot writer methods for all given slotnames.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">slots</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> of slotnames to define setter methods for.</div></div></div>\n\n", lines:[70, 70]}, "read_slots:":{arg:["slots"], file:"lib/class.fy", doc:"<p>Defines slot reader methods for all given slotnames.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">slots</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> of slotnames to define getter methods for.</div></div></div>\n\n", lines:[48, 48]}, ":nested_classes":{arg:[], file:"lib/rbx/class.fy", doc:"<p>Returns all the nested classes within a <code data-lang=\"fancy\" data-class-ref=\"Class\" class=\"class-ref selectable\">Class</code> as an <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> of all nested classes for <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", lines:[117, 117]}, "new:":{arg:["superclass"], file:"lib/rbx/class.fy", doc:"<p>Creates a new <code data-lang=\"fancy\" data-class-ref=\"Class\" class=\"class-ref selectable\">Class</code> instance by subclassing <code data-lang=\"fancy\">superclass</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>A new <code data-lang=\"fancy\" data-class-ref=\"Class\" class=\"class-ref selectable\">Class</code> inherited from <code data-lang=\"fancy\">superclass</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">superclass</code> </label><div>The superclass to inherit from.</div></div></div>\n\n", lines:[23, 23]}, "alias_method:for:":{arg:["new_method_name", "old_method_name"], file:"lib/class.fy", doc:"<p>Defines an alias method for another method.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">new_method_name</code> </label><div>New method name to be used as an alias for <code data-lang=\"fancy\">old_method_name</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">old_method_name</code> </label><div>Name of method to alias (must exist in the <code data-lang=\"fancy\" data-class-ref=\"Class\" class=\"class-ref selectable\">Class</code>).</div></div></div>\n\n", lines:[152, 152]}, "alias_method_rbx:for:":{arg:["new_method_name", "old_method_name"], file:"lib/rbx/class.fy", doc:"<p>Rbx specific version of alias_method:for: due to bootstrap order\nreasons. Should not be used directly.</p>\n\n<div class=\"doctags\"></div>\n\n", lines:[137, 137]}, ":initialize":{arg:[], file:"lib/rbx/class.fy", doc:"<p>Initializes a <code data-lang=\"fancy\" data-class-ref=\"Class\" class=\"class-ref selectable\">Class</code> with <code data-lang=\"fancy\" data-class-ref=\"Object\" class=\"class-ref selectable\">Object</code> set as superclass (default superclass).</p>\n\n<div class=\"doctags\"></div>\n\n", lines:[46, 46]}, "methods:":{arg:["include_superclasses?"], file:"lib/rbx/class.fy", doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> of all class method names for this <code data-lang=\"fancy\" data-class-ref=\"Class\" class=\"class-ref selectable\">Class</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">include_superclasses?</code> </label><div>Boolean indicating if methods of all superclasses should be included (defaults to <code data-lang=\"fancy\">true</code>).</div></div></div>\n\n", lines:[198, 198]}, "lazy_slot:value:":{arg:["slotname", "block"], file:"lib/class.fy", doc:"<p>Defines a lazy getter for <code data-lang=\"fancy\">slotname</code> that yields the result of calling <code data-lang=\"fancy\">block</code> and caches it in <code data-lang=\"fancy\">slotname</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">block</code> </label><div>will be called with <code data-lang=\"fancy\">self</code> as the implicit receiver, so other slots can be used within <code data-lang=\"fancy\">block</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">slotname</code> </label><div>Name of slot to be lazily set.</div></div></div>\n\n", lines:[118, 118]}, "subclass:":{arg:["body_block"], file:"lib/rbx/class.fy", doc:"<p>Creates a new <code data-lang=\"fancy\" data-class-ref=\"Class\" class=\"class-ref selectable\">Class</code> with <code data-lang=\"fancy\">self</code> as superclass and the given body.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">body_block</code> </label><div>A <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> that gets used as the body of the <code data-lang=\"fancy\" data-class-ref=\"Class\" class=\"class-ref selectable\">Class</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>A new <code data-lang=\"fancy\" data-class-ref=\"Class\" class=\"class-ref selectable\">Class</code> inherited from <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", lines:[107, 107]}}}, "IO":{doc:"<p>Base class for IO related classes (like <code data-lang=\"fancy\" data-class-ref=\"File\" class=\"class-ref selectable\">File</code>, <code data-lang=\"fancy\" data-class-ref=\"Socket\" class=\"class-ref selectable\">Socket</code>, <code data-lang=\"fancy\" data-class-ref=\"Console\" class=\"class-ref selectable\">Console</code> etc.).</p>\n\n<div class=\"doctags\"></div>\n\n", ancestors:["IO", "IOMixin", "Object", "Unmarshalable", "File Constants", "Enumerable", "Object", "Kernel"], methods:{}, instance_methods:{}}, "Tuple":{doc:"<p>Tuples are fixed-size containers providing index-based access to its\nelements.</p>\n\n<div class=\"doctags\"></div>\n\n", ancestors:["Rubinius Tuple", "Fancy Enumerable", "Object", "Enumerable", "Object", "Kernel"], methods:{":===":{arg:["obj"], file:"lib/tuple.fy", doc:"<p>Matches <code data-lang=\"fancy\" data-class-ref=\"Tuple\" class=\"class-ref selectable\">Tuple</code> class against an object.\nIf the given object is a Tuple instance, return a Tuple object.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Tuple instance containing the values of <code data-lang=\"fancy\">obj</code> to be used in pattern matching.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">obj</code> </label><div>Object to be matched against</div></div></div>\n\n", lines:[35, 35]}, "with_values:":{arg:["values"], file:"lib/tuple.fy", doc:"<p>Creates a new <code data-lang=\"fancy\" data-class-ref=\"Tuple\" class=\"class-ref selectable\">Tuple</code> with the <code data-lang=\"fancy\">values</code> passed in.</p>\n\n<p>Example:</p>\n\n<pre><code> Tuple with_values: [1,2,3] # =&gt; (1,2,3)\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">values</code> </label><div>Values of the <code data-lang=\"fancy\" data-class-ref=\"Tuple\" class=\"class-ref selectable\">Tuple</code> to be created.</div></div></div>\n\n", lines:[19, 19]}, "new:":{arg:["size"], file:"lib/rbx/tuple.fy", doc:"<p>Initializes a new <code data-lang=\"fancy\" data-class-ref=\"Tuple\" class=\"class-ref selectable\">Tuple</code> with a given amount of element slots.\nE.g. if <code data-lang=\"fancy\">size</code> is <code data-lang=\"fancy\">2</code>, creates a 2-Tuple.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">size</code> </label><div>Size of the <code data-lang=\"fancy\" data-class-ref=\"Tuple\" class=\"class-ref selectable\">Tuple</code> (amount of values to hold).</div></div></div>\n\n", lines:[11, 11]}, ":name":{arg:[], file:"lib/tuple.fy", doc:"<p>Tuple</p>\n\n<div class=\"doctags\"></div>\n\n", lines:[43, 43]}}, instance_methods:{"each:":{arg:["block"], file:"lib/tuple.fy", doc:"<p>Calls a given <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> with each element in the <code data-lang=\"fancy\" data-class-ref=\"Tuple\" class=\"class-ref selectable\">Tuple</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">block</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> to be called for each element in <code data-lang=\"fancy\">self</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Return value of calling <code data-lang=\"fancy\">block</code> on the last item in <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", lines:[84, 84]}, ":inspect":{arg:[], file:"lib/tuple.fy", doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>A <code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code> representation of <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", lines:[132, 132]}, "[]:":{arg:["idx", "val"], file:"lib/rbx/tuple.fy", doc:"<p>Sets a value for a given index within a <code data-lang=\"fancy\" data-class-ref=\"Tuple\" class=\"class-ref selectable\">Tuple</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">idx</code> </label><div>Index of element to set.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">val</code> </label><div>Value to set at given index.</div></div></div>\n\n", lines:[42, 42]}, ":[]":{arg:["idx"], file:"lib/tuple.fy", doc:"<p>Forwards to <code data-lang=\"fancy\" data-class-ref=\"Tuple\" class=\"class-ref selectable\">Tuple</code>#at:.</p>\n\n<div class=\"doctags\"></div>\n\n", lines:[49, 49]}, "reverse_each:":{arg:["block"], file:"lib/tuple.fy", doc:"<p>Example:</p>\n\n<pre><code> (1,2,3) reverse_each: @{print}\n # prints: 321\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">block</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> to be called for each element (in reverse order).</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", lines:[100, 100]}, ":==":{arg:["other"], file:"lib/tuple.fy", doc:"<p>Compares two <code data-lang=\"fancy\" data-class-ref=\"Tuple\" class=\"class-ref selectable\">Tuple</code>s with each other.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">true</code>, if tuples are equal element-wise, <code data-lang=\"fancy\">false</code> otherwise.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">other</code> </label><div>Other <code data-lang=\"fancy\" data-class-ref=\"Tuple\" class=\"class-ref selectable\">Tuple</code> to compare <code data-lang=\"fancy\">self</code> with.</div></div></div>\n\n", lines:[114, 114]}, ":to_s":{arg:[], file:"lib/tuple.fy", doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code> concatenation of elements in <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", lines:[147, 147]}, "at:":{arg:["idx"], file:"lib/rbx/tuple.fy", doc:"<p>Returns an element at a given indes.\nPossibly throws an <code data-lang=\"fancy\" data-class-ref=\"Rubinius\" class=\"class-ref selectable\">Rubinius</code> <code data-lang=\"fancy\" data-class-ref=\"Rubinius ObjectBoundsExceededError\" class=\"class-ref selectable\">ObjectBoundsExceededError</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">idx</code> </label><div>Index for the element to get.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Element at the given index within the <code data-lang=\"fancy\" data-class-ref=\"Tuple\" class=\"class-ref selectable\">Tuple</code> or <code data-lang=\"fancy\">nil</code>.</div></div></div>\n\n", lines:[31, 31]}, "at:put:":{arg:["idx", "val"], file:"lib/rbx/tuple.fy", doc:"<p>Sets a value for a given index within a <code data-lang=\"fancy\" data-class-ref=\"Tuple\" class=\"class-ref selectable\">Tuple</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">idx</code> </label><div>Index of element to set.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">val</code> </label><div>Value to set at given index.</div></div></div>\n\n", lines:[42, 42]}, "from:to:":{arg:["from", "to"], file:"lib/tuple.fy", doc:"<p>Returns sub-array starting at from: and going to to:</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">to</code> </label><div>End index ofr sub-array.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">from</code> </label><div>Start index for sub-array.</div></div></div>\n\n", lines:[60, 60]}}}, "DynamicSlotObject":{doc:"<p>Helper class to dynamically create <code data-lang=\"fancy\" data-class-ref=\"Object\" class=\"class-ref selectable\">Object</code>s with slots defined by sending messages to it.</p>\n\n<p>Example:</p>\n\n<pre><code> dso = DynamicSlotObject new\n dso name: \"Chris\"\n dso age: 25\n dso country: \"Germany\"\n dso object # =&gt; Object with slots 'name, 'age and 'country defined\n</code></pre>\n\n<div class=\"doctags\"></div>\n\n", ancestors:["DynamicSlotObject", "Fancy BasicObject", "Object", "Kernel"], methods:{}, instance_methods:{}}, "NoMethodError":{doc:"<p>Exception class that gets thrown when a method wasn't found within a class.</p>\n\n<div class=\"doctags\"></div>\n\n", ancestors:["NoMethodError", "NameError", "StandardError", "Exception", "Object", "Kernel"], methods:{":inspect":{arg:[], file:"lib/rbx/no_method_error.fy", doc:"<p>NoMethodError</p>\n\n<div class=\"doctags\"></div>\n\n", lines:[20, 20]}}, instance_methods:{":method_name":{arg:[], file:"lib/rbx/no_method_error.fy", doc:"<p>Returns the name of the method that was not found as a <code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Name of the method not found (as <code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code>).</div></div></div>\n\n", lines:[11, 11]}}}, "Fancy Documentation":{doc:"<p>A Fancy Documentation object is a holder for docstrings and specs.\nKeeps a registry of documentation for anything Fancy.</p>\n\n<p>Provides methods for searching and formatting an Object's docstrings.\nThis can be be handy for users of the interactive Fancy REPL,\ndocument generators, instrospection tools, IDEs, anything!</p>\n\n<p>This object can be converted to just anything by using its format:\nmethod. Formatters can be registered with Fancy Documentation#formatter:is:</p>\n\n<p>By default two formatters are defined:</p>\n\n<p> 'fancy => Returns the Fancy::Documentation object\n 'string => Returns the docs string representation</p>\n\n<div class=\"doctags\"></div>\n\n", ancestors:["Fancy Documentation", "Object", "Kernel"], methods:{"for:is:":{arg:["obj", "docstring"], file:"lib/rbx/documentation.fy", doc:"<p>Create a Fancy::Documentation instance.</p>\n\n<p>Note: As we're bootstrapping, we cannot set documentation here as\nan string literal.</p>\n\n<p>We are the very first thing to load, so just create a new\nFancy::Documentation object without using new:, and set it as\nfancy docs.</p>\n\n<div class=\"doctags\"></div>\n\n", lines:[34, 34]}, "for:append:":{arg:["obj", "docstring"], file:"lib/documentation.fy", doc:"<p>Append docstring to the documentation for obj.\nIf obj has no documentation, one is created for it.</p>\n\n<div class=\"doctags\"></div>\n\n", lines:[67, 67]}, "for_method:on_class:is:":{arg:["method_name", "class", "docstring"], file:"lib/rbx/documentation.fy", doc:"<p>Similar to <code data-lang=\"fancy\" data-class-ref=\"Fancy\" class=\"class-ref selectable\">Fancy</code> <code data-lang=\"fancy\" data-class-ref=\"Fancy Documentation\" class=\"class-ref selectable\">Documentation</code> <code data-lang=\"fancy\" data-ruby-singleton-method-ref=\"\" data-owner-class=\"Fancy Documentation\" class=\"ruby-singleton-method-ref selectable\"></code> but taking the method name and the <code data-lang=\"fancy\" data-class-ref=\"Class\" class=\"class-ref selectable\">Class</code> for which <code data-lang=\"fancy\" data-class-ref=\"Method\" class=\"class-ref selectable\">Method</code> to define the docstring.</p>\n\n<div class=\"doctags\"></div>\n\n", lines:[47, 47]}, "formatter:":{arg:["name"], file:"lib/documentation.fy", doc:"<p>Obtains a formatter by a given name. Returns a callable object.</p>\n\n<div class=\"doctags\"></div>\n\n", lines:[81, 81]}, "formatter:is:":{arg:["name", "callable"], file:"lib/documentation.fy", doc:"<p>Registers a callable object as formatter under name.</p>\n\n<div class=\"doctags\"></div>\n\n", lines:[89, 89]}, ":formatters":{arg:[], file:"lib/documentation.fy", doc:"<p>Obtain the hash of known documentation formatters.</p>\n\n<div class=\"doctags\"></div>\n\n", lines:[97, 97]}, "for:":{arg:["obj"], file:"lib/rbx/documentation.fy", doc:"<p>Obtains the Fancy Documentation for obj.</p>\n\n<div class=\"doctags\"></div>\n\n", lines:[56, 56]}, "remove:":{arg:["obj"], file:"lib/rbx/documentation.fy", doc:"<p>Removes the documentation for obj.</p>\n\n<div class=\"doctags\"></div>\n\n", lines:[61, 61]}}, instance_methods:{":docs":{doc:"<p>An array of docstrings for the object beind documented.</p>\n\n<p>We have an array of docstrings because in Fancy, some\nthings like classes can be re-openned and the user may\nspecify new documentation for it each time. Thus we dont\nwant to loose the previous documentation but rather build\nupon it. That is, fancy supports incremental documentation.</p>\n\n<div class=\"doctags\"></div>\n\n"}, "format:":{arg:["format"], file:"lib/documentation.fy", doc:"<p>If format is specified, the documentation string will be\nconverted using the corresponding formatter. This allows\nyou to extend Fancy documentation system, and produce\nhtml documents, man pages, or anything you can imagine.</p>\n\n<div class=\"doctags\"></div>\n\n", lines:[56, 56]}, ":specs":{doc:"<p>An array of associated Fancy specs for the object\nbeing documented.</p>\n\n<p>Its a lot better to keep the associated specs in\nFancy Documentation objects instead of just having them\nin method instances. This allows us to associate any object\nwith an spec example.</p>\n\n<p>This way you can have a single Fancy spec example that\nis related to many objects (methods, constants, classes)\nthat are being specified. Later in documentation, we can\nprovide links to all specs where an object is being exercised.</p>\n\n<div class=\"doctags\"></div>\n\n"}}}, "Method":{doc:"<p>An instance of Method represents a method on a Class.\nEvery method in Fancy is an instance of the Method class.</p>\n\n<div class=\"doctags\"></div>\n\n", ancestors:["Method", "MethodMixin", "Object", "Unmarshalable", "Object", "Kernel"], methods:{}, instance_methods:{}}, "NilClass":{doc:"<p>NilClass. The class of the singleton <code data-lang=\"fancy\">nil</code> value.</p>\n\n<div class=\"doctags\"></div>\n\n", ancestors:["NilClass", "ImmediateValue", "Object", "Kernel"], methods:{":new":{arg:[], file:"lib/nil_class.fy", doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">nil</code>.</div></div></div>\n\n", lines:[9, 9]}}, instance_methods:{":inspect":{arg:[], file:"lib/nil_class.fy", doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">nil</code> as a <code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code>.</div></div></div>\n\n", lines:[93, 93]}, "if_true:else:":{arg:["then_block", "else_block"], file:"lib/nil_class.fy", doc:"<p>Calls <code data-lang=\"fancy\">else_block</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Value of calling <code data-lang=\"fancy\">else_block</code>.</div></div></div>\n\n", lines:[29, 29]}, "if_nil:":{arg:["block"], file:"lib/nil_class.fy", doc:"<p>Calls <code data-lang=\"fancy\">block</code> with <code data-lang=\"fancy\">self</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">block</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> to be called.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Value of calling <code data-lang=\"fancy\">block</code> with <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", lines:[39, 39]}, ":not":{arg:[], file:"lib/nil_class.fy", doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">true</code>.</div></div></div>\n\n", lines:[85, 85]}, ":to_a":{arg:[], file:"lib/nil_class.fy", doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>An empty <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code>.</div></div></div>\n\n", lines:[77, 77]}, ":to_s":{arg:[], file:"lib/nil_class.fy", doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>An empty <code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code>.</div></div></div>\n\n", lines:[67, 67]}, "if_nil:else:":{arg:["then_block", "else_block"], file:"lib/nil_class.fy", doc:"<p>Calls <code data-lang=\"fancy\">then_block</code> with <code data-lang=\"fancy\">self</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">then_block</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> to be called with <code data-lang=\"fancy\">self</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Value of calling <code data-lang=\"fancy\">then_block</code> with <code data-lang=\"fancy\">self</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">else_block</code> </label><div>Gets ignored.</div></div></div>\n\n", lines:[51, 51]}, "if_true:":{arg:["block"], file:"lib/nil_class.fy", doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">nil</code>.</div></div></div>\n\n", lines:[19, 19]}, ":nil?":{arg:[], file:"lib/nil_class.fy", doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">true</code>.</div></div></div>\n\n", lines:[59, 59]}}}, "TCPServer":{doc:"<p>TCP Server</p>\n\n<div class=\"doctags\"></div>\n\n", ancestors:["TCPServer", "Socket ListenAndAccept", "IO Socketable", "TCPSocket", "IPSocket", "BasicSocket", "IO", "IOMixin", "Object", "Unmarshalable", "File Constants", "Enumerable", "Object", "Kernel"], methods:{}, instance_methods:{}}, "Fixnum":{doc:"<p>Standard class for integer values in Fancy.</p>\n\n<div class=\"doctags\"></div>\n\n", ancestors:["Fixnum", "Number", "Object", "ImmediateValue", "Integer", "Precision", "Numeric", "Comparable", "Object", "Kernel"], methods:{}, instance_methods:{}}, "Fiber":{doc:"<p>Fiber class. Fibers are cooperatively scheduled coroutines supported\nby the Rubinius VM.\nControl flow between multiple Fibers is always explicitly handled.\nThere is no preemptive scheduler.</p>\n\n<div class=\"doctags\"></div>\n\n", ancestors:["Rubinius Fiber", "Object", "Kernel"], methods:{"yield:":{arg:["vals"], file:"lib/rbx/fiber.fy", doc:"<p>Returns execution control to the parent <code data-lang=\"fancy\" data-class-ref=\"Fiber\" class=\"class-ref selectable\">Fiber</code> and passes along <code data-lang=\"fancy\">vals</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">vals</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> of values to pass along to parent <code data-lang=\"fancy\" data-class-ref=\"Fiber\" class=\"class-ref selectable\">Fiber</code>.</div></div></div>\n\n", lines:[25, 25]}, "new:":{arg:["block"], file:"lib/rbx/fiber.fy", doc:"<p>Creates a new Fiber running <code data-lang=\"fancy\">block</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">block</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> to be run in a new Fiber.</div></div></div>\n\n", lines:[15, 15]}, ":name":{arg:[], file:"lib/fiber.fy", doc:"<p>Fiber</p>\n\n<div class=\"doctags\"></div>\n\n", lines:[10, 10]}}, instance_methods:{"resume:":{arg:["vals"], file:"lib/rbx/fiber.fy", doc:"<p>Resumes <code data-lang=\"fancy\">self</code> (if paused) or raises an exception, if <code data-lang=\"fancy\" data-class-ref=\"Fiber\" class=\"class-ref selectable\">Fiber</code> is dead.\nPasses along <code data-lang=\"fancy\">vals</code> as the return value of the last call to <code data-lang=\"fancy\">yield</code> in <code data-lang=\"fancy\">self</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">vals</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> of values to pass along to <code data-lang=\"fancy\">self</code> for resuming.</div></div></div>\n\n", lines:[36, 36]}}}, "Struct":{doc:"<p>Structs are light-weight classes with predefined read-writable slots.</p>\n\n<div class=\"doctags\"></div>\n\n", ancestors:["Struct", "Enumerable", "Object", "Kernel"], methods:{"new:":{arg:["slots"], file:"lib/struct.fy", doc:"<p>Creates a new Struct class with the given slots.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">slots</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> of slotnames the new Struct should contain.</div></div></div>\n\n", lines:[11, 11]}}, instance_methods:{}}, "Regexp":{doc:"<p>Regular Expression class. Used by Regexp literals in Fancy.</p>\n\n<div class=\"doctags\"></div>\n\n", ancestors:["Regexp", "Object", "Kernel"], methods:{}, instance_methods:{}}, "Set":{doc:"<p>A simple Set data structure class.</p>\n\n<div class=\"doctags\"></div>\n\n", ancestors:["Set", "Fancy Enumerable", "Object", "Object", "Kernel"], methods:{":[]":{arg:["values"], file:"lib/set.fy", doc:"<p>Initialize a new Set with a given collection of values.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">values</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Fancy\" class=\"class-ref selectable\">Fancy</code> <code data-lang=\"fancy\" data-class-ref=\"Fancy Enumerable\" class=\"class-ref selectable\">Enumerable</code> of values used for new Set.</div></div></div>\n\n", lines:[76, 76]}}, instance_methods:{":empty?":{arg:[], file:"lib/set.fy", doc:"<p>Indicates, if a Set is empty.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">true</code>, if Set is emty, <code data-lang=\"fancy\">false</code> otherwise.</div></div></div>\n\n", lines:[50, 50]}, ":inspect":{arg:[], file:"lib/set.fy", doc:"<p>Returns a detailed <code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code> representation of a Set.</p>\n\n<div class=\"doctags\"></div>\n\n", lines:[138, 138]}, "includes?:":{arg:["value"], file:"lib/set.fy", doc:"<p>Indicates, if the Set includes <code data-lang=\"fancy\">value</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">true</code> if <code data-lang=\"fancy\">value</code> in <code data-lang=\"fancy\">self</code>, <code data-lang=\"fancy\">false</code> otherwise.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">value</code> </label><div>Value to be checked for if included in <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", lines:[99, 99]}, ":values":{arg:[], file:"lib/set.fy", doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Values in self as an <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code>.</div></div></div>\n\n", lines:[32, 32]}, ":size":{arg:[], file:"lib/set.fy", doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Amount of values in <code data-lang=\"fancy\">self</code> as a <code data-lang=\"fancy\" data-class-ref=\"Fixnum\" class=\"class-ref selectable\">Fixnum</code>.</div></div></div>\n\n", lines:[40, 40]}, ":[]":{arg:["value"], file:"lib/set.fy", doc:"<p>Indicates, if the Set includes <code data-lang=\"fancy\">value</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">true</code> if <code data-lang=\"fancy\">value</code> is in <code data-lang=\"fancy\">self</code>, <code data-lang=\"fancy\">nil</code> otherwise.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">value</code> </label><div>Value to be checked for if included in <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", lines:[110, 110]}, ":==":{arg:["other"], file:"lib/set.fy", doc:"<p>Indicates, if two Sets are equal.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">true</code>, if self is equal to <code data-lang=\"fancy\">other</code>, <code data-lang=\"fancy\">false</code> otherwise.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">other</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Set\" class=\"class-ref selectable\">Set</code> to compare <code data-lang=\"fancy\">self</code> against.</div></div></div>\n\n", lines:[61, 61]}, ":+":{arg:["other"], file:"lib/set.fy", doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Union Set containing all values in both <code data-lang=\"fancy\">self</code> and <code data-lang=\"fancy\">other</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">other</code> </label><div>Other Set to use for creating union Set.</div></div></div>\n\n", lines:[157, 157]}, "initialize:":{arg:["values"], file:"lib/set.fy", doc:"<p>Initialize a new Set with a given collection of values.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">values</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Fancy\" class=\"class-ref selectable\">Fancy</code> <code data-lang=\"fancy\" data-class-ref=\"Fancy Enumerable\" class=\"class-ref selectable\">Enumerable</code> of values to be used as values for <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", lines:[13, 13]}, "remove:":{arg:["obj"], file:"lib/set.fy", doc:"<p>Removes a given object from a Set, if available.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">obj</code> </label><div>Object to be removed from <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", lines:[148, 148]}, "each:":{arg:["block"], file:"lib/set.fy", doc:"<p>Calls a given Block for each element of the Set.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">block</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> to be called with each value in <code data-lang=\"fancy\">self</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", lines:[121, 121]}, ":&":{arg:["other"], file:"lib/set.fy", doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Intersection Set containing only values that are in both <code data-lang=\"fancy\">self</code> and <code data-lang=\"fancy\">other</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">other</code> </label><div>Other Set to use for creating Set.</div></div></div>\n\n", lines:[179, 179]}, ":to_s":{arg:[], file:"lib/set.fy", doc:"<p>Returns a <code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code> representation of a Set.</p>\n\n<div class=\"doctags\"></div>\n\n", lines:[130, 130]}, ":<<":{arg:["value"], file:"lib/set.fy", doc:"<p>Insert a value into the Set.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">self</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">value</code> </label><div>Value to be inserted into <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", lines:[87, 87]}, ":initialize":{arg:[], file:"lib/set.fy", doc:"<p>Initialize a new empty Set.</p>\n\n<div class=\"doctags\"></div>\n\n", lines:[24, 24]}, ":-":{arg:["other"], file:"lib/set.fy", doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Difference Set by removing all values from <code data-lang=\"fancy\">self</code> that are in <code data-lang=\"fancy\">other</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">other</code> </label><div>Other Set to use for creating difference Set.</div></div></div>\n\n", lines:[166, 166]}}}, "Fancy FDoc":{doc:"<p>FDoc is a tool to generate API documentation from Fancy source.</p>\n\n<p>Works as follows:</p>\n\n<ol>\n<li>We setup a handler to be invoked every time an object is set documentation\nSee fdoc_hook.fy, its loaded even before all of lib/rbx/*.fy so we can\nAlso have documentation for all fancy rubinius.</li>\n<li>We load boot.fy, so we get documentation for all fancy's lib.</li>\n<li>We run FDoc main\nwhich can possibly load any file/directory you specify and optionally\nrun specs, effectively associating them with documented objects.</li>\n<li>Generate output file.\nCurrently the plan is to output a json formatted object.\nTo be loaded by an html file and use jquery to build a GUI from it.</li>\n</ol>\n\n\n<div class=\"doctags\"></div>\n\n", ancestors:["Fancy FDoc", "Object", "Kernel"], methods:{":main":{arg:[], file:"lib/fdoc.fy", doc:"<p>FDoc will load all .fy files you give to it, and optionally run\nany specified FancySpec, and later produce documentation output.</p>\n\n<div class=\"doctags\"></div>\n\n", lines:[30, 30]}}, instance_methods:{}}, "NameError":{doc:"<p>NameError exception class. Used within Rubinius.</p>\n\n<div class=\"doctags\"></div>\n\n", ancestors:["NameError", "StandardError", "Exception", "Object", "Kernel"], methods:{}, instance_methods:{}}, "Fancy Enumerable":{doc:"<p>Mixin-Class with useful methods for collections that implement an <code data-lang=\"fancy\" data-method=\"each:\" class=\"selectable\">each:</code> method.</p>\n\n<div class=\"doctags\"></div>\n\n", ancestors:["Fancy Enumerable", "Object", "Kernel"], methods:{}, instance_methods:{"join:":{arg:["str"], file:"lib/enumerable.fy", doc:"<p>Joins a collection with a <code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code> between each element, returning a new <code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code>.</p>\n\n<pre><code> \"hello, world\" join: \"-\" # =&gt; \"h-e-l-l-o-,- -w-o-r-l-d\"\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code> containing all elements in <code data-lang=\"fancy\">self</code> interspersed with <code data-lang=\"fancy\">str</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">str</code> </label><div>Value (usually a <code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code>) to be used for the joined <code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code>.</div></div></div>\n\n", lines:[115, 115]}, ":product":{arg:[], file:"lib/enumerable.fy", doc:"<p>Calculates the product of all the elements in the <code data-lang=\"fancy\">Enumerable</code>\n(assuming them to be <code data-lang=\"fancy\" data-class-ref=\"Number\" class=\"class-ref selectable\">Number</code>s (implementing <code data-lang=\"fancy\">+</code> &amp; <code data-lang=\"fancy\">*</code>)).</p>\n\n<div class=\"doctags\"></div>\n\n", lines:[501, 501]}, "partition_by:":{arg:["block"], file:"lib/enumerable.fy", doc:"<p>Example:</p>\n\n<pre><code> (0..10) partition_by: @{ &lt; 3 } # =&gt; [[0, 1, 2], [3, 4, 5, 6, 7, 8, 9, 10]]\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">block</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> that gets used to decide when to partition elements in <code data-lang=\"fancy\">self</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> of <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code>s, partitioned by equal return values of calling <code data-lang=\"fancy\">block</code> with each element</div></div></div>\n\n", lines:[522, 522]}, "inject:into:":{arg:["val", "block"], file:"lib/enumerable.fy", doc:"<p>Same as reduce:init_val: but taking the initial value as first\nand the reducing block as second parameter.</p>\n\n<p>Example:</p>\n\n<pre><code> [1,2,3] inject: 0 into: |sum val| { sum + val } # =&gt; 6\n</code></pre>\n\n<div class=\"doctags\"></div>\n\n", lines:[375, 375]}, "each:in_between:":{arg:["each_block", "between_block"], file:"lib/enumerable.fy", doc:"<p>Similar to <code data-lang=\"fancy\" data-method=\"each:\" class=\"selectable\">each:</code> but calls an additional <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> between\ncalling the first <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> for each element in self.</p>\n\n<div class=\"doctags\"></div>\n\n", lines:[98, 98]}, ":size":{arg:[], file:"lib/enumerable.fy", doc:"<p>Returns the size of an Enumerable.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Amount of elements in <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", lines:[404, 404]}, ":fourth":{arg:[], file:"lib/enumerable.fy", doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>The fourth element in the <code data-lang=\"fancy\" data-class-ref=\"Fancy\" class=\"class-ref selectable\">Fancy</code> <code data-lang=\"fancy\" data-class-ref=\"Fancy Enumerable\" class=\"class-ref selectable\">Enumerable</code>.</div></div></div>\n\n", lines:[65, 65]}, "skip:":{arg:["amount"], file:"lib/enumerable.fy", doc:"<p>Example:</p>\n\n<pre><code> [1,2,3,4,5] drop: 2 # =&gt; [3,4,5]\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>An <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> of all but the first <code data-lang=\"fancy\">amount</code> elements in <code data-lang=\"fancy\">self</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">amount</code> </label><div>Amount of elements to skip in <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", lines:[341, 341]}, "drop:":{arg:["amount"], file:"lib/enumerable.fy", doc:"<p>Example:</p>\n\n<pre><code> [1,2,3,4,5] drop: 2 # =&gt; [3,4,5]\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>An <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> of all but the first <code data-lang=\"fancy\">amount</code> elements in <code data-lang=\"fancy\">self</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">amount</code> </label><div>Amount of elements to skip in <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", lines:[341, 341]}, ":third":{arg:[], file:"lib/enumerable.fy", doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>The third element in the <code data-lang=\"fancy\" data-class-ref=\"Fancy\" class=\"class-ref selectable\">Fancy</code> <code data-lang=\"fancy\" data-class-ref=\"Fancy Enumerable\" class=\"class-ref selectable\">Enumerable</code>.</div></div></div>\n\n", lines:[58, 58]}, ":join":{arg:[], file:"lib/enumerable.fy", doc:"<p>Forward to message join:</p>\n\n<div class=\"doctags\"></div>\n\n", lines:[107, 107]}, "any?:":{arg:["condition"], file:"lib/enumerable.fy", doc:"<p>Indicates, if any element meets the condition.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">true</code>, if <code data-lang=\"fancy\">condition</code> yields <code data-lang=\"fancy\">true</code> for any element, <code data-lang=\"fancy\">false</code> otherwise.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">condition</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> (or <code data-lang=\"fancy\">Callable</code>) that is used to check if any element in <code data-lang=\"fancy\">self</code> yields true for it.</div></div></div>\n\n", lines:[132, 132]}, "select:":{arg:["condition"], file:"lib/enumerable.fy", doc:"<p>Returns a new <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> with all elements that meet the given condition block.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>An <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> containing all elements in <code data-lang=\"fancy\">self</code> that yield <code data-lang=\"fancy\">true</code> when called with <code data-lang=\"fancy\">condition</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">condition</code> </label><div>A <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> that is used as a filter on all elements in <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", lines:[245, 245]}, "find:":{arg:["item"], file:"lib/enumerable.fy", doc:"<p>Returns <code data-lang=\"fancy\">nil</code>, if <code data-lang=\"fancy\">item</code> (or anything that returns <code data-lang=\"fancy\">true</code> when comparing to <code data-lang=\"fancy\">item</code>) isn't found.\nOtherwise returns that element that is equal to <code data-lang=\"fancy\">item</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>The first element that is equal to <code data-lang=\"fancy\">item</code> or <code data-lang=\"fancy\">nil</code>, if none found.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">item</code> </label><div>Item to be found in <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", lines:[165, 165]}, ":average":{arg:[], file:"lib/enumerable.fy", doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Average value in <code data-lang=\"fancy\">self</code> (expecting <code data-lang=\"fancy\" data-class-ref=\"Number\" class=\"class-ref selectable\">Number</code>s or Objects implementing <code data-lang=\"fancy\">+</code> and <code data-lang=\"fancy\">*</code>).</div></div></div>\n\n", lines:[509, 509]}, "map_with_index:":{arg:["block"], file:"lib/enumerable.fy", doc:"<p>Returns a new <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> with the results of calling a given block for every element and its index.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">block</code> </label><div>A <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> that gets called with each element and its index in <code data-lang=\"fancy\">self</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>An <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> containing all values of calling <code data-lang=\"fancy\">block</code> with each element and its index in <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", lines:[213, 213]}, ":compact":{arg:[], file:"lib/enumerable.fy", doc:"<p>Returns a new <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> with all values removed that are <code data-lang=\"fancy\">nil</code> ( return <code data-lang=\"fancy\">true</code> on <code data-lang=\"fancy\">nil?</code> ).</p>\n\n<p>Example:</p>\n\n<pre><code> [1,2,nil,3,nil] compact # =&gt; [1,2,3]\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> with all non-nil elements in <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", lines:[431, 431]}, ":random":{arg:[], file:"lib/enumerable.fy", doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Random element in <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", lines:[543, 543]}, "count:":{arg:["block"], file:"lib/enumerable.fy", doc:"<p>Example:</p>\n\n<pre><code> (0..10) count: @{ even? } # =&gt; 6 (even numbers are: 0,2,4,6,8,10)\n [1,2,3] count: @{ odd? } # =&gt; 2\n [1,2, \"foo\"] count: @{ class == String } # =&gt; 1\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">block</code> </label><div>Predicate <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> called with each element.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Fixnum\" class=\"class-ref selectable\">Fixnum</code> that is the amount of elements in <code data-lang=\"fancy\">self</code> for which <code data-lang=\"fancy\">block</code> yields <code data-lang=\"fancy\">true</code>.</div></div></div>\n\n", lines:[646, 646]}, ":empty?":{arg:[], file:"lib/enumerable.fy", doc:"<p>Indicates, if the Enumerable is empty (has no elements).</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">true</code>, if size of <code data-lang=\"fancy\">self</code> is 0, <code data-lang=\"fancy\">false</code> otherwise.</div></div></div>\n\n", lines:[418, 418]}, "includes?:":{arg:["item"], file:"lib/enumerable.fy", doc:"<p>Indicates, if a collection includes a given element.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">true</code>, if <code data-lang=\"fancy\">item</code> in <code data-lang=\"fancy\">self</code>, otherwise <code data-lang=\"fancy\">false</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">item</code> </label><div>Item to check if it's included in <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", lines:[89, 89]}, "find_by:":{arg:["block"], file:"lib/enumerable.fy", doc:"<p>Similar to <code data-lang=\"fancy\" data-method=\"find:\" class=\"selectable\">find:</code> but takes a block that is called for each element to find it.</p>\n\n<div class=\"doctags\"></div>\n\n", lines:[182, 182]}, "all?:":{arg:["condition"], file:"lib/enumerable.fy", doc:"<p>Takes condition-block and returns <code data-lang=\"fancy\">true</code> if all elements meet it.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">block</code> </label><div>Predicate <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> to be called for each element until it returns <code data-lang=\"fancy\">false</code> for any one of them.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">true</code> if all elements in <code data-lang=\"fancy\">self</code> yield <code data-lang=\"fancy\">true</code> for <code data-lang=\"fancy\">block</code>, <code data-lang=\"fancy\">false</code> otherwise.</div></div></div>\n\n", lines:[148, 148]}, "reverse_each:":{arg:["block"], file:"lib/enumerable.fy", doc:"<p>Runs <code data-lang=\"fancy\">block</code> for each element on reversed version of self.\nIf <code data-lang=\"fancy\">self</code> is not a sorted collection, no guarantees about the reverse order can be given.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">block</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> to be called for each element in reverse order.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">self</div></div></div>\n\n\n<p></code></p>\n", lines:[632, 632]}, "take_while:":{arg:["condition"], file:"lib/enumerable.fy", doc:"<p>Returns a new <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> by taking elements from the beginning\nas long as they meet the given condition block.</p>\n\n<p>Example:</p>\n\n<pre><code> [1,2,3,4,5] take_while: |x| { x &lt; 4 } # =&gt; [1,2,3]\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>An <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> of all elements from the beginning until <code data-lang=\"fancy\">condition</code> yields <code data-lang=\"fancy\">false</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">condition</code> </label><div>A <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> that is used as a condition for filtering.</div></div></div>\n\n", lines:[277, 277]}, ":sum":{arg:[], file:"lib/enumerable.fy", doc:"<p>Calculates the sum of all the elements in the <code data-lang=\"fancy\">Enumerable</code>\n(assuming them to be <code data-lang=\"fancy\" data-class-ref=\"Number\" class=\"class-ref selectable\">Number</code>s (implementing '+' &amp; '*')).</p>\n\n<div class=\"doctags\"></div>\n\n", lines:[492, 492]}, ":second":{arg:[], file:"lib/enumerable.fy", doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>The second element in the <code data-lang=\"fancy\" data-class-ref=\"Fancy\" class=\"class-ref selectable\">Fancy</code> <code data-lang=\"fancy\" data-class-ref=\"Fancy Enumerable\" class=\"class-ref selectable\">Enumerable</code>.</div></div></div>\n\n", lines:[51, 51]}, "map_chained:":{arg:["blocks"], file:"lib/enumerable.fy", doc:"<p>Example:</p>\n\n<pre><code> (1,2,3) map_chained: (@{ + 1 }, 'to_s, @{ * 2 })\n # =&gt; [\"22\", \"33\", \"44\"]\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Collection of all values in <code data-lang=\"fancy\">self</code> successively called with all blocks in <code data-lang=\"fancy\">blocks</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">blocks</code> </label><div>Collection of <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code>s to be called sequentially for every element in <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", lines:[230, 230]}, "superior_by:taking:":{arg:["comparison_block", "selection_block"], file:"lib/enumerable.fy", doc:"<p>Returns the superior element in the <code data-lang=\"fancy\" data-class-ref=\"Fancy\" class=\"class-ref selectable\">Fancy</code> <code data-lang=\"fancy\" data-class-ref=\"Fancy Enumerable\" class=\"class-ref selectable\">Enumerable</code> that has met\nthe given comparison block with all other elements,\napplied to whatever <code data-lang=\"fancy\">selection_block</code> returns for each element.</p>\n\n<p>Examples:</p>\n\n<pre><code> [1,2,5,3,4] superior_by: '&gt; # =&gt; 5\n [1,2,5,3,4] superior_by: '&lt; # =&gt; 1\n [[1,2], [2,3,4], [], [1]] superior_by: '&gt; taking: 'size # =&gt; [2,3,4]\n [[1,2], [2,3,4], [-1]] superior_by: '&lt; taking: 'first # =&gt; [-1]\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">selection_block</code> </label><div>defaults to <code data-lang=\"fancy\">identity</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Superior element in <code data-lang=\"fancy\">self</code> in terms of <code data-lang=\"fancy\">comparison_block</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">comparison_block</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> to be used for comparison.</div></div></div>\n\n", lines:[452, 452]}, "take:":{arg:["amount"], file:"lib/enumerable.fy", doc:"<p>Example:</p>\n\n<pre><code> [1,2,3,4] take: 2 # =&gt; [1,2]\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>First <code data-lang=\"fancy\">amount</code> elements of <code data-lang=\"fancy\">self</code> in an <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">amount</code> </label><div>Amount of elements to take from <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", lines:[325, 325]}, ":unique":{arg:[], file:"lib/enumerable.fy", doc:"<p>Returns a new Array with all unique values (double entries are skipped).</p>\n\n<p>Example:</p>\n\n<pre><code> [1,2,1,2,3] unique # =&gt; [1,2,3]\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> of all unique elements in <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", lines:[388, 388]}, ":first":{arg:[], file:"lib/enumerable.fy", doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>The first element in the <code data-lang=\"fancy\" data-class-ref=\"Fancy\" class=\"class-ref selectable\">Fancy</code> <code data-lang=\"fancy\" data-class-ref=\"Fancy Enumerable\" class=\"class-ref selectable\">Enumerable</code>.</div></div></div>\n\n", lines:[44, 44]}, ":last":{arg:[], file:"lib/enumerable.fy", doc:"<p>Returns the last element in a <code data-lang=\"fancy\" data-class-ref=\"Fancy\" class=\"class-ref selectable\">Fancy</code> <code data-lang=\"fancy\" data-class-ref=\"Fancy Enumerable\" class=\"class-ref selectable\">Enumerable</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Last element in <code data-lang=\"fancy\">self</code> or <code data-lang=\"fancy\">nil</code>, if empty.</div></div></div>\n\n", lines:[74, 74]}, "drop_while:":{arg:["condition"], file:"lib/enumerable.fy", doc:"<p>Similar to <code data-lang=\"fancy\" data-method=\"take_while:\" class=\"selectable\">take_while:</code> but inverse.\nReturns a new <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> by skipping elements from the beginning\nas long as they meet the given condition block.</p>\n\n<p>Example:</p>\n\n<pre><code> [1,2,3,4,5] drop_while: |x| { x &lt; 4 } # =&gt; [4,5]\n</code></pre>\n\n<div class=\"doctags\"></div>\n\n", lines:[298, 298]}, "to_hash:":{arg:["block"], file:"lib/enumerable.fy", doc:"<p>Example:</p>\n\n<pre><code> [\"foo\", \\\342\200\235hello\", \"ok\", \"\"] to_hash: @{ size }\n # =&gt; &lt;[3 =&gt; \"foo\", 5 =&gt; \"hello\", 2 =&gt; \"ok\", 0 =&gt; \"\"]&gt;\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">block</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> to be called to get the key for each element in <code data-lang=\"fancy\">self</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Hash\" class=\"class-ref selectable\">Hash</code> of key/value pairs based on values in <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", lines:[615, 615]}, "map:":{arg:["block"], file:"lib/enumerable.fy", doc:"<p>Returns a new <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> with the results of calling a given block for every element.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">block</code> </label><div>A <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> that gets called with each element in <code data-lang=\"fancy\">self</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>An <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> containing all values of calling <code data-lang=\"fancy\">block</code> with each element in <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", lines:[198, 198]}, "in_groups_of:":{arg:["size"], file:"lib/enumerable.fy", doc:"<p>Example usage:</p>\n\n<pre><code> [1,2,3,4,5] in_groups_of: 3 # =&gt; [[1,2,3],[4,5]]\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> of <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code>s with a max size of <code data-lang=\"fancy\">size</code> (grouped).</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">size</code> </label><div>Maximum size of each group.</div></div></div>\n\n", lines:[572, 572]}, ":reverse":{arg:[], file:"lib/enumerable.fy", doc:"<p>Returns <code data-lang=\"fancy\">self</code> in reverse order.\nThis only makes sense for collections that have an ordering.\nIn either case, it simply converts <code data-lang=\"fancy\">self</code> to an <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> and returns it in reversed order.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">self</code> in reverse order.</div></div></div>\n\n", lines:[602, 602]}, "reject:":{arg:["condition"], file:"lib/enumerable.fy", doc:"<p>Similar to <code data-lang=\"fancy\" data-method=\"select:\" class=\"selectable\">select:</code> but inverse.\nReturns a new <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> with all elements that don't meet the given condition block.</p>\n\n<div class=\"doctags\"></div>\n\n", lines:[258, 258]}, "reduce:init_val:":{arg:["block", "init_val"], file:"lib/enumerable.fy", doc:"<p>Calculates a value based on a given block to be called on an accumulator\nvalue and an initial value.</p>\n\n<p>Example:</p>\n\n<pre><code> [1,2,3] reduce: |sum val| { sum + val } init_val: 0 # =&gt; 6\n</code></pre>\n\n<div class=\"doctags\"></div>\n\n", lines:[359, 359]}, "superior_by:":{arg:["comparison_block"], file:"lib/enumerable.fy", doc:"<p>Forward to message superior_by:taking:</p>\n\n<div class=\"doctags\"></div>\n\n", lines:[436, 436]}, ":min":{arg:[], file:"lib/enumerable.fy", doc:"<p>Returns the minimum value in the Enumerable (via the '&lt;' comparison message).</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Minimum value in <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", lines:[483, 483]}, ":to_s":{arg:[], file:"lib/enumerable.fy", doc:"<p>Example:</p>\n\n<pre><code> (1,2,3) to_s # =&gt; \"123\"\n [1,2,3] to_s # =&gt; \"123\"\n \"foo\" to_s # =&gt; \"foo\"\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code> concatenation of elements in <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", lines:[663, 663]}, "each_with_index:":{arg:["block"], file:"lib/enumerable.fy", doc:"<p>Iterate over all elements in <code data-lang=\"fancy\">self</code>.\nCalls a given <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> with each element and its index.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">block</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> to be called with each element and its index in the <code data-lang=\"fancy\">self</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">self</div></div></div>\n\n\n<p></code></p>\n", lines:[32, 32]}, "at:":{arg:["index"], file:"lib/enumerable.fy", doc:"<p>Example:</p>\n\n<pre><code> \"foo\\\342\200\235 at: 2 # =&gt; \"o\"\n \"foo\\\342\200\235 at: 3 # =&gt; nil\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">index</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Fixnum\" class=\"class-ref selectable\">Fixnum</code> that is the 0-based index into <code data-lang=\"fancy\">self</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Value in <code data-lang=\"fancy\">self</code> at 0-based position defined by <code data-lang=\"fancy\">index</code>.</div></div></div>\n\n", lines:[15, 15]}, ":max":{arg:[], file:"lib/enumerable.fy", doc:"<p>Returns the maximum value in the Enumerable (via the '>' comparison message).</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Maximum value in <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", lines:[473, 473]}, "sort_by:":{arg:["block"], file:"lib/enumerable.fy", doc:"<p>Sorts a collection by a given comparison block.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">block</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> taking 2 arguments used to compare elements in a collection.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Sorted <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> of elements in <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", lines:[554, 554]}}}, "Time":{doc:"<p>Time class. Used for even more timely stuff.</p>\n\n<div class=\"doctags\"></div>\n\n", ancestors:["Time", "Comparable", "Object", "Kernel"], methods:{}, instance_methods:{}}, "DynamicValueArray":{doc:"<p>Helper class to dynamically create <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code>s with values defined by sending messages to it.</p>\n\n<p>Example:</p>\n\n<pre><code> dva = DynamicValueArray new\n dva name: \"Chris\"\n dva age: 25\n dva country: \"Germany\"\n dva something_else\n\n dva array # =&gt; [['name, \"Chris\"], ['age, 25], ['country, \"Germany\"], 'something_else]\n</code></pre>\n\n<div class=\"doctags\"></div>\n\n", ancestors:["DynamicValueArray", "Fancy BasicObject", "Object", "Kernel"], methods:{}, instance_methods:{}}, "Console":{doc:"<p>Console class. Used for <code data-lang=\"fancy\">STDIO</code>.</p>\n\n<div class=\"doctags\"></div>\n\n", ancestors:["Console", "Object", "Kernel"], methods:{":readln":{arg:[], file:"lib/rbx/console.fy", doc:"<p>Reads a line from <code data-lang=\"fancy\">STDIN</code> and returns it as a <code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Line (<code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code>) read from <code data-lang=\"fancy\">STDIN</code>.</div></div></div>\n\n", lines:[49, 49]}, "print:":{arg:["obj"], file:"lib/rbx/console.fy", doc:"<p>Prints a given object on <code data-lang=\"fancy\">STDOUT</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">obj</code> </label><div>Object to be printed on <code data-lang=\"fancy\">STDOUT</code>.</div></div></div>\n\n", lines:[15, 15]}, "readln:":{arg:["message"], file:"lib/rbx/console.fy", doc:"<p>Prints a given message to <code data-lang=\"fancy\">STDOUT</code>, followed by reading a line from\n<code data-lang=\"fancy\">STDIN</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Line (<code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code>) read from <code data-lang=\"fancy\">STDIN</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">message</code> </label><div>A <code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code> that should be printed to <code data-lang=\"fancy\">STDOUT</code> before reading from <code data-lang=\"fancy\">STDIN</code>.</div></div></div>\n\n", lines:[38, 38]}, ":clear":{arg:[], file:"lib/rbx/console.fy", doc:"<p>Clears the <code data-lang=\"fancy\" data-class-ref=\"Console\" class=\"class-ref selectable\">Console</code>.</p>\n\n<div class=\"doctags\"></div>\n\n", lines:[59, 59]}, ":newline":{arg:[], file:"lib/rbx/console.fy", doc:"<p>Prints a newline to <code data-lang=\"fancy\">STDOUT</code>.</p>\n\n<div class=\"doctags\"></div>\n\n", lines:[5, 5]}, "println:":{arg:["obj"], file:"lib/rbx/console.fy", doc:"<p>Prints a given object on <code data-lang=\"fancy\">STDOUT</code>, followed by a newline.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">obj</code> </label><div>Object to be printed on <code data-lang=\"fancy\">STDOUT</code>, followed by a newline.</div></div></div>\n\n", lines:[25, 25]}}, instance_methods:{}}, "TCPSocket":{doc:"<p>TCP Socket class.</p>\n\n<div class=\"doctags\"></div>\n\n", ancestors:["TCPSocket", "IPSocket", "BasicSocket", "IO", "IOMixin", "Object", "Unmarshalable", "File Constants", "Enumerable", "Object", "Kernel"], methods:{"open:port:":{arg:["server", "port"], file:"lib/rbx/tcp_socket.fy", doc:"<p>Creates and opens a new <code data-lang=\"fancy\" data-class-ref=\"TCPSocket\" class=\"class-ref selectable\">TCPSocket</code> on <code data-lang=\"fancy\">server</code> and <code data-lang=\"fancy\">port</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">server</code> </label><div>Server hostname to open Socket on.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">port</code> </label><div>Server port to open Socket on.</div></div></div>\n\n", lines:[16, 16]}}, instance_methods:{"send:":{arg:["msg"], file:"lib/rbx/tcp_socket.fy", doc:"<p>Forward to message send:flags:</p>\n\n<div class=\"doctags\"></div>\n\n", lines:[21, 21]}}}, "File":{doc:"<p>Instances of File represent files in the filesystem of the operating\nsystem on which Fancy is running.</p>\n\n<div class=\"doctags\"></div>\n\n", ancestors:["File", "Enumerable", "IO", "IOMixin", "Object", "Unmarshalable", "File Constants", "Enumerable", "Object", "Kernel"], methods:{"touch:":{arg:["filename"], file:"lib/file.fy", doc:"<p>Creates a new empty file with the given <code data-lang=\"fancy\">filename</code>, if it doesn't already exist.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">filename</code> </label><div>Name of <code data-lang=\"fancy\" data-class-ref=\"File\" class=\"class-ref selectable\">File</code> to be created, if not already existant.</div></div></div>\n\n", lines:[53, 53]}, "read:with:":{arg:["filename", "block"], file:"lib/file.fy", doc:"<p>Opens a <code data-lang=\"fancy\" data-class-ref=\"File\" class=\"class-ref selectable\">File</code> for reading and calls <code data-lang=\"fancy\">block</code> with it.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">block</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> called with a <code data-lang=\"fancy\" data-class-ref=\"File\" class=\"class-ref selectable\">File</code> object to read from.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">filename</code> </label><div>Filename of <code data-lang=\"fancy\" data-class-ref=\"File\" class=\"class-ref selectable\">File</code> to read from.</div></div></div>\n\n", lines:[24, 24]}, "write:with:":{arg:["filename", "block"], file:"lib/file.fy", doc:"<p>Opens a <code data-lang=\"fancy\" data-class-ref=\"File\" class=\"class-ref selectable\">File</code> for writing and calls <code data-lang=\"fancy\">block</code> with it.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">block</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> called with a <code data-lang=\"fancy\" data-class-ref=\"File\" class=\"class-ref selectable\">File</code> object to write to.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">filename</code> </label><div>Filename of <code data-lang=\"fancy\" data-class-ref=\"File\" class=\"class-ref selectable\">File</code> to write to.</div></div></div>\n\n", lines:[13, 13]}, "read:":{arg:["filename"], file:"lib/rbx/file.fy", doc:"<p>Reads all the contens (in ASCII mode) of a given file and returns\nthem as an Array of lines being read.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Contents of the File as a <code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">filename</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code> containing the path of the File to be read.</div></div></div>\n\n", lines:[59, 59]}, "read_config:":{arg:["filename"], file:"lib/file.fy", doc:"<p>Reads a .fy source file as a config file.</p>\n\n<p>Example:</p>\n\n<pre><code> # Given a file config.fy with these contents:\n {\n host: \"127.0.0.1\"\n port: 1234\n names: [\n 'foo,\n 'bar,\n 'baz\n ]\n something_else: {\n another_value: 'foo\n }\n }\n\n # It can be read like so:\n config = File read_config: \"config.fy\"\n\n # config is now:\n &lt;[\n 'host =&gt; \"127.0.0.1\",\n 'port =&gt; 1234,\n 'names =&gt; ['foo, 'bar, 'baz],\n 'something_else: &lt;[\n 'another_value =&gt; 'foo\n ]&gt;\n ]&gt;\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Hash\" class=\"class-ref selectable\">Hash</code> of key-value pairs of the config file.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">filename</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code> that is the name of file to be read as a config file.</div></div></div>\n\n", lines:[104, 104]}, "exists?:":{arg:["filename"], file:"lib/rbx/file.fy", doc:"<p>Indicates if the <code data-lang=\"fancy\" data-class-ref=\"File\" class=\"class-ref selectable\">File</code> with the given <code data-lang=\"fancy\">filename</code> exists.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">true</code> if <code data-lang=\"fancy\" data-class-ref=\"File\" class=\"class-ref selectable\">File</code> exists, <code data-lang=\"fancy\">false</code> otherwise.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">filename</code> </label><div>Path to file to check for existance.</div></div></div>\n\n", lines:[47, 47]}, "read_binary:with:":{arg:["filename", "block"], file:"lib/file.fy", doc:"<p>Opens a <code data-lang=\"fancy\" data-class-ref=\"File\" class=\"class-ref selectable\">File</code> for reading and calls <code data-lang=\"fancy\">block</code> with it.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">block</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> called with a <code data-lang=\"fancy\" data-class-ref=\"File\" class=\"class-ref selectable\">File</code> object to read from.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">filename</code> </label><div>Filename of <code data-lang=\"fancy\" data-class-ref=\"File\" class=\"class-ref selectable\">File</code> to read from.</div></div></div>\n\n", lines:[35, 35]}, "open:modes:with:":{arg:["filename", "modes_arr", "block"], file:"lib/rbx/file.fy", doc:"<p>Opens a File with a given <code data-lang=\"fancy\">filename</code>, a <code data-lang=\"fancy\">modes_arr</code> (<code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code>) and a <code data-lang=\"fancy\">block</code>.</p>\n\n<p>E.g. to open a File with read access and read all lines and print them to STDOUT:</p>\n\n<p> File open: \"foo.txt\" modes: ['read] with: |f| {</p>\n\n<pre><code> { f eof? } while_false: {\n f readln println\n }\n</code></pre>\n\n<p> }</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">block</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> that gets called with the <code data-lang=\"fancy\" data-class-ref=\"File\" class=\"class-ref selectable\">File</code> object that has been opened.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">modes_arr</code> </label><div>Array of symbols that describe the desired operations to perform.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">filename</code> </label><div>Filename to open/create.</div></div></div>\n\n", lines:[30, 30]}, "delete:":{arg:["filename"], file:"lib/rbx/file.fy", doc:"<p>Deletes a <code data-lang=\"fancy\" data-class-ref=\"File\" class=\"class-ref selectable\">File</code> with a given <code data-lang=\"fancy\">filename</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">filename</code> </label><div>Path to <code data-lang=\"fancy\" data-class-ref=\"File\" class=\"class-ref selectable\">File</code> to be deleted.</div></div></div>\n\n", lines:[120, 120]}, "eval:":{arg:["filename"], file:"lib/file.fy", doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Value of evaluating code in <code data-lang=\"fancy\">filename</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">filename</code> </label><div>Name of Fancy source file (*.fy) to be read and evaluated.</div></div></div>\n\n", lines:[65, 65]}, "read:length:":{arg:["filename", "length"], file:"lib/rbx/file.fy", doc:"<p>Forward to message read:length:offset:</p>\n\n<div class=\"doctags\"></div>\n\n", lines:[64, 64]}, "open:modes:":{arg:["filename", "modes_arr"], file:"lib/rbx/file.fy", doc:"<p>Similar to open:modes:with: but takes no <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> argument to be\ncalled with the <code data-lang=\"fancy\" data-class-ref=\"File\" class=\"class-ref selectable\">File</code> instance.\nReturns the opened <code data-lang=\"fancy\" data-class-ref=\"File\" class=\"class-ref selectable\">File</code> instead and expects the caller to <code data-lang=\"fancy\">close</code> it manually.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">modes_arr</code> </label><div>Array of symbols that describe the desired operations to perform.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>A <code data-lang=\"fancy\" data-class-ref=\"File\" class=\"class-ref selectable\">File</code> instance that represents the opened <code data-lang=\"fancy\" data-class-ref=\"File\" class=\"class-ref selectable\">File</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">filename</code> </label><div>Filename to open/create.</div></div></div>\n\n", lines:[87, 87]}, "directory?:":{arg:["path"], file:"lib/rbx/file.fy", doc:"<p>Indicates, if a given <code data-lang=\"fancy\">path</code> refers to a <code data-lang=\"fancy\" data-class-ref=\"Directory\" class=\"class-ref selectable\">Directory</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">path</code> </label><div>Path to check if it's a <code data-lang=\"fancy\" data-class-ref=\"Directory\" class=\"class-ref selectable\">Directory</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">true</code>, if the <code data-lang=\"fancy\">path</code> refers to a <code data-lang=\"fancy\" data-class-ref=\"Directory\" class=\"class-ref selectable\">Directory</code>, <code data-lang=\"fancy\">false</code> otherwise.</div></div></div>\n\n", lines:[135, 135]}, "rename:to:":{arg:["old_name", "new_name"], file:"lib/rbx/file.fy", doc:"<p>Renames a <code data-lang=\"fancy\" data-class-ref=\"File\" class=\"class-ref selectable\">File</code> on the filesystem.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">old_name</code> </label><div>Path to <code data-lang=\"fancy\" data-class-ref=\"File\" class=\"class-ref selectable\">File</code> to rename.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">new_name</code> </label><div>Path to new filename.</div></div></div>\n\n", lines:[146, 146]}, "read:length:offset:":{arg:["filename", "length", "offset"], file:"lib/rbx/file.fy", doc:"<p>Reads all the contens (in ASCII mode) of a given file, length and offset\nand returns them as an Array of lines being read.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Contents of the File as a <code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">filename</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code> containing the path of the File to be read.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">offset</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Fixnum\" class=\"class-ref selectable\">Fixnum</code> being the offset in bytes to start reading from the File.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">length</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Fixnum\" class=\"class-ref selectable\">Fixnum</code> being the maximum length to read from the File.</div></div></div>\n\n", lines:[73, 73]}, "open:":{arg:["filename"], file:"lib/rbx/file.fy", doc:"<p>Forward to message open:modes:</p>\n\n<div class=\"doctags\"></div>\n\n", lines:[78, 78]}, "modes_str:":{arg:["modes_arr"], file:"lib/rbx/file.fy", doc:"<p>Returns the appropriate <code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code> representation of the <code data-lang=\"fancy\">modes_arr</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">modes_arr</code> </label><div>Array of symbols that describe the desired operations to perform.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code> that represents the <code data-lang=\"fancy\" data-class-ref=\"File\" class=\"class-ref selectable\">File</code> access modifiers, as used by Ruby.</div></div></div>\n\n", lines:[106, 106]}}, instance_methods:{"write:":{arg:["str"], file:"lib/rbx/file.fy", doc:"<p>Writes a given <code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code> to a <code data-lang=\"fancy\" data-class-ref=\"File\" class=\"class-ref selectable\">File</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">str</code> </label><div>String to be written to a <code data-lang=\"fancy\" data-class-ref=\"File\" class=\"class-ref selectable\">File</code>.</div></div></div>\n\n", lines:[202, 202]}, "writeln:":{arg:["x"], file:"lib/file.fy", doc:"<p>Writes a given argument as a String followed by a newline into the\nFile.</p>\n\n<div class=\"doctags\"></div>\n\n", lines:[113, 113]}, "modes:":{arg:["modes_arr"], file:"lib/rbx/file.fy", doc:"<p>Sets the <code data-lang=\"fancy\" data-class-ref=\"File\" class=\"class-ref selectable\">File</code> access modes <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">modes_arr</code> </label><div>New <code data-lang=\"fancy\" data-class-ref=\"File\" class=\"class-ref selectable\">File</code> access modes <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code>.</div></div></div>\n\n", lines:[182, 182]}, "print:":{arg:["str"], file:"lib/rbx/file.fy", doc:"<p>Writes a given <code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code> to a <code data-lang=\"fancy\" data-class-ref=\"File\" class=\"class-ref selectable\">File</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">str</code> </label><div>String to be written to a <code data-lang=\"fancy\" data-class-ref=\"File\" class=\"class-ref selectable\">File</code>.</div></div></div>\n\n", lines:[202, 202]}, ":open?":{arg:[], file:"lib/rbx/file.fy", doc:"<p>Indicates, if a <code data-lang=\"fancy\" data-class-ref=\"File\" class=\"class-ref selectable\">File</code> is opened.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">true</code>, if <code data-lang=\"fancy\" data-class-ref=\"File\" class=\"class-ref selectable\">File</code> opened, <code data-lang=\"fancy\">false</code> otherwise.</div></div></div>\n\n", lines:[192, 192]}, ":expanded_path":{arg:[], file:"lib/file.fy", doc:"<p>Example:</p>\n\n<pre><code> f = File open: \"README.txt\"\n f expanded_path # =&gt; \"/path/to/README.txt\" (when run from /path/to/)\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Expanded (absolute) path of <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", lines:[129, 129]}, ":modes":{arg:[], file:"lib/rbx/file.fy", doc:"<p>Returns the <code data-lang=\"fancy\" data-class-ref=\"File\" class=\"class-ref selectable\">File</code> access modes <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"File\" class=\"class-ref selectable\">File</code> access modes <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code>.</div></div></div>\n\n", lines:[172, 172]}, ":newline":{arg:[], file:"lib/rbx/file.fy", doc:"<p>Writes a newline character to the <code data-lang=\"fancy\" data-class-ref=\"File\" class=\"class-ref selectable\">File</code>.</p>\n\n<div class=\"doctags\"></div>\n\n", lines:[216, 216]}, ":directory?":{arg:[], file:"lib/rbx/file.fy", doc:"<p>Indicates, if a <code data-lang=\"fancy\" data-class-ref=\"File\" class=\"class-ref selectable\">File</code> is a <code data-lang=\"fancy\" data-class-ref=\"Directory\" class=\"class-ref selectable\">Directory</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">true</code>, if <code data-lang=\"fancy\" data-class-ref=\"File\" class=\"class-ref selectable\">File</code> is a <code data-lang=\"fancy\" data-class-ref=\"Directory\" class=\"class-ref selectable\">Directory</code>, <code data-lang=\"fancy\">false</code> otherwise.</div></div></div>\n\n", lines:[226, 226]}, "read:":{arg:["bytes"], file:"lib/rbx/file.fy", doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">bytes</code> </label><div>Integer the amount of bytes to read from a <code data-lang=\"fancy\" data-class-ref=\"File\" class=\"class-ref selectable\">File</code>.</div></div></div>\n\n", lines:[210, 210]}, "println:":{arg:["x"], file:"lib/file.fy", doc:"<p>Writes a given argument as a String followed by a newline into the\nFile.</p>\n\n<div class=\"doctags\"></div>\n\n", lines:[113, 113]}, ":close":{arg:[], file:"lib/rbx/file.fy", doc:"<p>Closes an opened <code data-lang=\"fancy\" data-class-ref=\"File\" class=\"class-ref selectable\">File</code>.</p>\n\n<div class=\"doctags\"></div>\n\n", lines:[158, 158]}}}, "String":{doc:"<p>Strings are sequences of characters and behave as such.\nAll literal Strings within Fancy code are instances of the String\nclass.</p>\n\n<p>They also include <code data-lang=\"fancy\" data-class-ref=\"Fancy\" class=\"class-ref selectable\">Fancy</code> <code data-lang=\"fancy\" data-class-ref=\"Fancy Enumerable\" class=\"class-ref selectable\">Enumerable</code>, which means you can use all the\ncommon sequence methods on them, like <code data-lang=\"fancy\" data-class-ref=\"Fancy\" class=\"class-ref selectable\">Fancy</code> <code data-lang=\"fancy\" data-class-ref=\"Fancy Enumerable\" class=\"class-ref selectable\">Enumerable</code> <code data-lang=\"fancy\" data-singleton-method-ref=\"map:\" data-owner-class=\"Fancy Enumerable\" class=\"singleton-method-ref selectable\">map:</code>, <code data-lang=\"fancy\" data-class-ref=\"Fancy\" class=\"class-ref selectable\">Fancy</code> <code data-lang=\"fancy\" data-class-ref=\"Fancy Enumerable\" class=\"class-ref selectable\">Enumerable</code> <code data-lang=\"fancy\" data-singleton-method-ref=\"select:\" data-owner-class=\"Fancy Enumerable\" class=\"singleton-method-ref selectable\">select:</code> etc.</p>\n\n<div class=\"doctags\"></div>\n\n", ancestors:["String", "Fancy Enumerable", "Object", "Enumerable", "Comparable", "Object", "Kernel"], methods:{}, instance_methods:{"relative_path:":{arg:["path"], file:"lib/string.fy", doc:"<p>Example:</p>\n\n<pre><code> __FILE__ relative: \"../foo/bar\"\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">path</code> </label><div>Relative path to <code data-lang=\"fancy\">self</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Absolute <code data-lang=\"fancy\" data-class-ref=\"File\" class=\"class-ref selectable\">File</code> path relative to <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", lines:[197, 197]}, ":characters":{arg:[], file:"lib/string.fy", doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> of all characters (as <code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code>) in <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", lines:[162, 162]}, ":blank?":{arg:[], file:"lib/string.fy", doc:"<p>Indicates, if a <code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code> consists only of whitespace.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">true</code> if <code data-lang=\"fancy\">self</code> consists only of whitespace, <code data-lang=\"fancy\">false</code> otherwise.</div></div></div>\n\n", lines:[58, 58]}, ":bytes":{arg:[], file:"lib/string.fy", doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Fancy\" class=\"class-ref selectable\">Fancy</code> <code data-lang=\"fancy\" data-class-ref=\"Fancy Enumerator\" class=\"class-ref selectable\">Enumerator</code> of all bytes (<code data-lang=\"fancy\" data-class-ref=\"Fixnum\" class=\"class-ref selectable\">Fixnum</code> values) in <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", lines:[181, 181]}, "downcase":{file:"kernel/common/string.rb", doc:"<p>Example:</p>\n\n<pre><code> \"HELLO WORLD\" lowercase # =&gt; \"hello world\"\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Lowercased version of <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", lines:[573, 573]}, "lowercase":{file:"kernel/common/string.rb", doc:"<p>Example:</p>\n\n<pre><code> \"HELLO WORLD\" lowercase # =&gt; \"hello world\"\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Lowercased version of <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", lines:[573, 573]}, "each:":{arg:["block"], file:"lib/rbx/string.fy", doc:"<p>Calls a given <code data-lang=\"fancy\">Block</code> with each character in a <code data-lang=\"fancy\">String</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">block</code> </label><div><code data-lang=\"fancy\">Block</code> to be called for each character in <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", lines:[48, 48]}, "==":{file:"kernel/common/string.rb", doc:"<p>Compares <code data-lang=\"fancy\">self</code> to another <code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code> and returns <code data-lang=\"fancy\">true</code>, if equal, <code data-lang=\"fancy\">false</code> otherwise.</p>\n\n<div class=\"doctags\"></div>\n\n", lines:[132, 132]}, ":eval_global":{arg:[], file:"lib/rbx/string.fy", doc:"<p>Same as <code data-lang=\"fancy\">String#eval</code> but evaluates <code data-lang=\"fancy\">self</code> in the global binding.</p>\n\n<div class=\"doctags\"></div>\n\n", lines:[92, 92]}, ":upcase":{file:"kernel/common/string.rb", doc:"<p>Example:</p>\n\n<pre><code> \"hello world\" uppercase # =&gt; \"HELLO WORLD\"\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Uppercased version of <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", lines:[1542, 1542]}, "uppercase":{file:"kernel/common/string.rb", doc:"<p>Example:</p>\n\n<pre><code> \"hello world\" uppercase # =&gt; \"HELLO WORLD\"\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Uppercased version of <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", lines:[1542, 1542]}, ":uppercase":{file:"kernel/common/string.rb", doc:"<p>Example:</p>\n\n<pre><code> \"hello world\" uppercase # =&gt; \"HELLO WORLD\"\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Uppercased version of <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", lines:[1542, 1542]}, ":lowercase":{file:"kernel/common/string.rb", doc:"<p>Example:</p>\n\n<pre><code> \"HELLO WORLD\" lowercase # =&gt; \"hello world\"\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Lowercased version of <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", lines:[573, 573]}, "includes?:":{arg:["substring"], file:"lib/rbx/string.fy", doc:"<p>Indicates if a given substring is in <code data-lang=\"fancy\">self</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">substring</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code> to be checked if it's in <code data-lang=\"fancy\">self</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">true</code> if <code data-lang=\"fancy\">substring</code> is in <code data-lang=\"fancy\">self</code>, <code data-lang=\"fancy\">false</code> otherwise.</div></div></div>\n\n", lines:[151, 151]}, "upcase":{file:"kernel/common/string.rb", doc:"<p>Example:</p>\n\n<pre><code> \"hello world\" uppercase # =&gt; \"HELLO WORLD\"\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Uppercased version of <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", lines:[1542, 1542]}, ":[]":{arg:["index"], file:"lib/rbx/string.fy", doc:"<p>Given an Array of 2 Numbers, it returns the substring between the given indices.\nIf given a Number, returns the character at that index.</p>\n\n<div class=\"doctags\"></div>\n\n", lines:[21, 21]}, ":==":{file:"kernel/common/string.rb", doc:"<p>Compares <code data-lang=\"fancy\">self</code> to another <code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code> and returns <code data-lang=\"fancy\">true</code>, if equal, <code data-lang=\"fancy\">false</code> otherwise.</p>\n\n<div class=\"doctags\"></div>\n\n", lines:[132, 132]}, ":*":{arg:["num"], file:"lib/string.fy", doc:"<p>Returns a <code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code> that is the num-fold concatenation of itself.</p>\n\n<p>Example:</p>\n\n<pre><code> \"foo\" * 3 # =&gt; \"foofoofoo\"\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">num</code> </label><div>Amount of concatenations to do with <code data-lang=\"fancy\">self</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code> that is the num-fold concatenation of <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", lines:[76, 76]}, ":split":{arg:[], file:"lib/rbx/string.fy", doc:"<p>Splits a string by whitespace.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">Array</code> of all non-whitespace Substrings in <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", lines:[75, 75]}, ":character":{arg:[], file:"lib/string.fy", doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Fixnum\" class=\"class-ref selectable\">Fixnum</code> (byte / ASCII) value of first character in <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", lines:[170, 170]}, ":whitespace?":{arg:[], file:"lib/string.fy", doc:"<p>Indicates, if a <code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code> is empty or a single whitespace character.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">true</code>, if <code data-lang=\"fancy\">self</code> consists only of a single whitespace character or is empty, <code data-lang=\"fancy\">false</code> otherwise.</div></div></div>\n\n", lines:[48, 48]}, ":lines":{arg:[], file:"lib/string.fy", doc:"<p>Returns the lines of a <code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code> as an <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> of all the lines in <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", lines:[120, 120]}, ":words":{arg:[], file:"lib/string.fy", doc:"<p>Example:</p>\n\n<pre><code> \"hello world\" words # =&gt; [\"hello\", \"world\"]\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> of all the whitespace seperated words in <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", lines:[91, 91]}, ":rest":{arg:[], file:"lib/string.fy", doc:"<p>Returns a <code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code> containing all but the first character.</p>\n\n<pre><code> \"hello\" rest # =&gt; \"ello\"\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code> containing all but the first character.</div></div></div>\n\n", lines:[110, 110]}, ":++":{arg:["other"], file:"lib/string.fy", doc:"<p>Concatenate <code data-lang=\"fancy\">self</code> with another Object's <code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code> representation.</p>\n\n<pre><code> \"foo\\\342\200\235 ++ 42 # =&gt; \\\342\200\235foo42\\\342\200\235\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Concatenation of <code data-lang=\"fancy\">self</code> with <code data-lang=\"fancy\">other</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">other</code> </label><div>Object to concatenate <code data-lang=\"fancy\">self</code> with as a <code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code>.</div></div></div>\n\n", lines:[38, 38]}, "split:":{arg:["str"], file:"lib/rbx/string.fy", doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>An <code data-lang=\"fancy\">Array</code> of <code data-lang=\"fancy\">String</code> values in <code data-lang=\"fancy\">self</code> that are seperated by <code data-lang=\"fancy\">str</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">str</code> </label><div><code data-lang=\"fancy\">String</code> where <code data-lang=\"fancy\">self</code> should be split at.</div></div></div>\n\n", lines:[66, 66]}, ":skip_leading_indentation":{arg:[], file:"lib/string.fy", doc:"<p>Remove leading white space for multi-line strings.\nThis method expects the first character to be an line return.</p>\n\n<div class=\"doctags\"></div>\n\n", lines:[146, 146]}, "substitute:with:":{arg:["substring", "substitution"], file:"lib/rbx/string.fy", doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">substring</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code> or <code data-lang=\"fancy\" data-class-ref=\"Regexp\" class=\"class-ref selectable\">Regexp</code> to be substituted.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>A new <code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code> where <code data-lang=\"fancy\">substring</code> is substituted by <code data-lang=\"fancy\">substitution</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">substitution</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code> to replace <code data-lang=\"fancy\">substring</code> with.</div></div></div>\n\n", lines:[161, 161]}, ":<<":{arg:["object"], file:"lib/string.fy", doc:"<p>Appends <code data-lang=\"fancy\">object's</code> <code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code> representation to <code data-lang=\"fancy\">self</code>.</p>\n\n<p>Example:</p>\n\n<pre><code> str = \"hello\"\n str &lt;&lt; \" \"\n str &lt;&lt; 42\n str # =&gt; \"hello 42\"\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">self</code>, but modified.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">object</code> </label><div>An <code data-lang=\"fancy\" data-class-ref=\"Object\" class=\"class-ref selectable\">Object</code> who's <code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code> representation will be appended to <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", lines:[137, 137]}, ":downcase":{file:"kernel/common/string.rb", doc:"<p>Example:</p>\n\n<pre><code> \"HELLO WORLD\" lowercase # =&gt; \"hello world\"\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Lowercased version of <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", lines:[573, 573]}, "at:":{arg:["idx"], file:"lib/rbx/string.fy", doc:"<p>Returns the character (as a <code data-lang=\"fancy\">String</code>) at index <code data-lang=\"fancy\">idx</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">idx</code> </label><div>Index of the character to retrieve.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Character in <code data-lang=\"fancy\">self</code> at position <code data-lang=\"fancy\">idx</code>.</div></div></div>\n\n", lines:[58, 58]}, "append:":{arg:["string"], file:"lib/rbx/string.fy", doc:"<p>Appends another <code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code> onto this <code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code>.</p>\n\n<p>Example usage:\n str = \"hello\"\n str append: \" world!\"\n str # => \"hello world!\"</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">string</code> </label><div>Other <code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code> to append on <code data-lang=\"fancy\">self</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">self</code>, but modified.</div></div></div>\n\n", lines:[140, 140]}, ":eval":{arg:[], file:"lib/rbx/string.fy", doc:"<p>Evaluates a <code data-lang=\"fancy\">String</code> in the current <code data-lang=\"fancy\">Binding</code> and returns its value.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Value of evaluating <code data-lang=\"fancy\">self</code> as Fancy code.</div></div></div>\n\n", lines:[84, 84]}, "from:to:":{arg:["from", "to"], file:"lib/rbx/string.fy", doc:"<p>Returns a Substring from <code data-lang=\"fancy\">from</code> to <code data-lang=\"fancy\">to</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Substring starting at index <code data-lang=\"fancy\">from</code> and ending at <code data-lang=\"fancy\">to</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">to</code> </label><div>End index.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">from</code> </label><div>Start index.</div></div></div>\n\n", lines:[38, 38]}, ":raise!":{arg:[], file:"lib/string.fy", doc:"<p>Raises a new <code data-lang=\"fancy\" data-class-ref=\"StandardError\" class=\"class-ref selectable\">StandardError</code> with self as the message.</p>\n\n<div class=\"doctags\"></div>\n\n", lines:[99, 99]}}}, "Array":{doc:"<p>Array class.\nArrays are dynamically resizable containers with a constant-time\nindex-based access to members.</p>\n\n<div class=\"doctags\"></div>\n\n", ancestors:["Array", "Fancy Enumerable", "Object", "Enumerable", "Object", "Kernel"], methods:{":===":{arg:["object"], file:"lib/array.fy", doc:"<p>Matches an <code data-lang=\"fancy\">Array</code> against another object.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">nil</code>, if no match, matched values (in an <code data-lang=\"fancy\">Array</code>) otherwise.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">object</code> </label><div>Object to match <code data-lang=\"fancy\">self</code> against.</div></div></div>\n\n", lines:[433, 433]}, "new:":{arg:["size"], file:"lib/array.fy", doc:"<p>Creates a new Array with a given <code data-lang=\"fancy\">size</code> (default value is <code data-lang=\"fancy\">nil</code>).</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">size</code> </label><div>Initial size of the <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> to be created (values default to <code data-lang=\"fancy\">nil</code>).</div></div></div>\n\n", lines:[15, 15]}, "new:with:":{arg:["size", "default"], file:"lib/rbx/array.fy", doc:"<p>Creates a new Array with a given size and default-value.\nIf <code data-lang=\"fancy\">default</code> is a <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code>, call that block for each element instead.</p>\n\n<div class=\"doctags\"></div>\n\n", lines:[10, 10]}}, instance_methods:{":inspect":{arg:[], file:"lib/array.fy", doc:"<p>Returns a pretty-printed <code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code> representation of <code data-lang=\"fancy\">self</code>.\nExample:</p>\n\n<pre><code> [1, 'foo, \"bar\", 42] inspect # =&gt; \"[1, 'foo, \\\"bar\\\", 42]\"\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Pretty-printed <code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code> representation of <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", lines:[286, 286]}, "join:":{arg:["join_str"], file:"lib/rbx/array.fy", doc:"<p>Joins all elements in the Array with a given <code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code>.</p>\n\n<p>Example:</p>\n\n<pre><code> [1,2,3] join: \", \\\342\200\235 # =&gt; \\\342\200\2351, 2, 3\"\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Joined <code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code> with all elements with <code data-lang=\"fancy\">join_str</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">join_str</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code> by which to <code data-lang=\"fancy\">join</code> all elements in <code data-lang=\"fancy\">self</code> into a new <code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code>.</div></div></div>\n\n", lines:[109, 109]}, "index:":{arg:["item"], file:"lib/rbx/array.fy", doc:"<p>Returns the index of an item (or nil, if it isn't in the <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code>).</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Index of the value passed in within the <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code>, or <code data-lang=\"fancy\">nil</code>, if value not present.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">item</code> </label><div>Item/Value for which the index is requested within an <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code>.</div></div></div>\n\n", lines:[86, 86]}, ":println":{arg:[], file:"lib/array.fy", doc:"<p>Prints each element on a seperate line.</p>\n\n<div class=\"doctags\"></div>\n\n", lines:[271, 271]}, "select_with_index:":{arg:["block"], file:"lib/array.fy", doc:"<p>Same as #select:, just gets also called with an additional argument\nfor each element's index value.</p>\n\n<div class=\"doctags\"></div>\n\n", lines:[400, 400]}, ":to_hash":{arg:[], file:"lib/array.fy", doc:"<p>Returns a <code data-lang=\"fancy\" data-class-ref=\"Hash\" class=\"class-ref selectable\">Hash</code> with each key-value pair in <code data-lang=\"fancy\">self</code>.</p>\n\n<p>Example:</p>\n\n<pre><code> [[1,2],[3,4]] to_hash # =&gt; &lt;[1 =&gt; 2, 3 =&gt; 4]&gt;\n</code></pre>\n\n<div class=\"doctags\"></div>\n\n", lines:[417, 417]}, ":to_a":{arg:[], file:"lib/array.fy", doc:"\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", lines:[300, 300]}, ":compact!":{arg:[], file:"lib/array.fy", doc:"<p>Removes all nil-value elements in place.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">self</div></div></div>\n\n\n<p></code></p>\n", lines:[238, 238]}, ":join":{arg:[], file:"lib/rbx/array.fy", doc:"<p>Joins all elements with the empty <code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code>.</p>\n\n<p>Example:</p>\n\n<pre><code> [\"hello\", \"world\", \"!\"] join # =&gt; \"hello,world!\"\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Elements of <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> joined to a <code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code>.</div></div></div>\n\n", lines:[122, 122]}, "last:":{arg:["count"], file:"lib/rbx/array.fy", doc:"<p>Returns new Array with last n elements specified.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">count</code> </label><div>Number of last elements to get from an <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> with up to <code data-lang=\"fancy\">count</code> size of last elements in <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", lines:[96, 96]}, "each:":{arg:["block"], file:"lib/array.fy", doc:"<p>Calls a given <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> with each element in the <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">block</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> to be called for each element in <code data-lang=\"fancy\">self</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">self</div></div></div>\n\n\n<p></code></p>\n", lines:[104, 104]}, "prepend:":{arg:["arr"], file:"lib/array.fy", doc:"<p>Prepends another <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> to this one.</p>\n\n<p>Example:</p>\n\n<pre><code> a = [1,2,3]\n a prepend: [4,5,6]\n a # =&gt; [4,5,6,1,2,3]\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">self</div></div><div</code> class=\"doctag\"><label> <code data-lang=\"fancy\">arr</code> </label><div>Other <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> to be prepended to <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", lines:[64, 64]}, ":indices":{arg:[], file:"lib/array.fy", doc:"<p>Returns an <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> of all the indices of an <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code>.</p>\n\n<pre><code> [1,2,3] indices # =&gt; [0,1,2]\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> of all indices of <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", lines:[352, 352]}, ":clone":{arg:[], file:"lib/array.fy", doc:"<p>Clones (shallow copy) the <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>A shallow copy of the <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code>.</div></div></div>\n\n", lines:[25, 25]}, "values_at:":{arg:["idx_arr"], file:"lib/array.fy", doc:"<p>Returns new <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> with elements at given indices.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> of all the items with the given indices in <code data-lang=\"fancy\">idx_arr</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">idx_arr</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> of indices.</div></div></div>\n\n", lines:[191, 191]}, ":>>":{arg:["other_arr"], file:"lib/array.fy", doc:"<p>Returns new Array with elements of other_arr appended to these.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>New <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> with <code data-lang=\"fancy\">other_arr</code> and <code data-lang=\"fancy\">self</code> appended.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">other_arr</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> to be appended to <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", lines:[206, 206]}, "find:":{arg:["item"], file:"lib/array.fy", doc:"<p>Returns the item, if it's in the Array or nil (if not found).</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">item</code> if, it's found in the <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code>, otherwise <code data-lang=\"fancy\">nil</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">item</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Object\" class=\"class-ref selectable\">Object</code> / Element to find in the <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code>.</div></div></div>\n\n", lines:[158, 158]}, ":=?":{arg:["other"], file:"lib/array.fy", doc:"<p>Compares two Arrays where order does not matter.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">true</code>, if all elements of <code data-lang=\"fancy\">other</code> are in <code data-lang=\"fancy\">self</code>, <code data-lang=\"fancy\">false</code> otherwise.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">other</code> </label><div>Other <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> to compare this one to.</div></div></div>\n\n", lines:[141, 141]}, "unshift:":{arg:["value"], file:"lib/rbx/array.fy", doc:"<p>Inserts a value at the front of <code data-lang=\"fancy\">self</code>.</p>\n\n<p>Example:</p>\n\n<pre><code> a = [1,2,3]\n a unshift: 10\n a # =&gt; [10,1,2,3]\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">self</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">value</code> </label><div>Value to be added at the front of <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", lines:[138, 138]}, "select!:":{arg:["condition"], file:"lib/array.fy", doc:"<p>Removes all elements in place, that don't meet the condition.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">self</code>, but changed with all elements removed that don't yield <code data-lang=\"fancy\">true</code> for <code data-lang=\"fancy\">condition</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">condition</code> </label><div>A condition <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> (or something <code data-lang=\"fancy\">Callable</code>) for selecting items from <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", lines:[218, 218]}, "indices_of:":{arg:["item"], file:"lib/array.fy", doc:"<p>Returns an Array of all indices of this item. Empty Array if item does not occur.</p>\n\n<pre><code> [1, 'foo, 2, 'foo] indices_of: 'foo # =&gt; [1, 3]\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> of all indices for a given value within an <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> (possibly empty).</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">item</code> </label><div>Item/Value for which a list of indices is requested within an <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code>.</div></div></div>\n\n", lines:[364, 364]}, ":-":{arg:["other"], file:"lib/array.fy", doc:"<p>Returns an <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> of all values in <code data-lang=\"fancy\">self</code> that are not in <code data-lang=\"fancy\">other</code>.</p>\n\n<p>Example:</p>\n\n<pre><code> [1,2,3,4] - [2,4,5] # =&gt; [1,3]\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> of elements in <code data-lang=\"fancy\">self</code> excluding all elements in <code data-lang=\"fancy\">self</code> and <code data-lang=\"fancy\">other</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">other</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Fancy\" class=\"class-ref selectable\">Fancy</code> <code data-lang=\"fancy\" data-class-ref=\"Fancy Enumerable\" class=\"class-ref selectable\">Enumerable</code> to be subtracted from <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", lines:[341, 341]}, "remove_if:":{arg:["condition"], file:"lib/array.fy", doc:"<p>Like <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> <code data-lang=\"fancy\" data-singleton-method-ref=\"remove:\" data-owner-class=\"Array\" class=\"singleton-method-ref selectable\">remove:</code>, but taking a condition <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code>.\nRemoves all elements that meet the given condition <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">self</code>, with all elements removed for which <code data-lang=\"fancy\">condition</code> yields true.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">condition</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> (or <code data-lang=\"fancy\">Callable</code>) that indicates, if an element should be removed from <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", lines:[262, 262]}, "includes?:":{arg:["obj"], file:"lib/rbx/array.fy", doc:"<p>Indicates, if an Array includes a given value.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">true</code>, if <code data-lang=\"fancy\">obj</code> is in <code data-lang=\"fancy\">self</code>, <code data-lang=\"fancy\">false</code> otherwise.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">obj</code> </label><div>Object to search for in <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", lines:[24, 24]}, "find_by:":{arg:["block"], file:"lib/array.fy", doc:"<p>Like find: but takes a block that gets called with each element to find it.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">block</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> to be called for each element in the <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>The first element, for which <code data-lang=\"fancy\">block</code> yields <code data-lang=\"fancy\">true</code>.</div></div></div>\n\n", lines:[175, 175]}, ":[]":{arg:["index"], file:"lib/array.fy", doc:"<p>Given an <code data-lang=\"fancy\" data-class-ref=\"Fancy\" class=\"class-ref selectable\">Fancy</code> <code data-lang=\"fancy\" data-class-ref=\"Fancy Enumerable\" class=\"class-ref selectable\">Enumerable</code> of 2 <code data-lang=\"fancy\" data-class-ref=\"Fixnum\" class=\"class-ref selectable\">Fixnum</code>s, it returns the sub-array between the given indices.\nIf given a single <code data-lang=\"fancy\" data-class-ref=\"Fixnum\" class=\"class-ref selectable\">Fixnum</code>, returns the element at that index.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">index</code> </label><div>Index to get the value for or <code data-lang=\"fancy\" data-class-ref=\"Fancy\" class=\"class-ref selectable\">Fancy</code> <code data-lang=\"fancy\" data-class-ref=\"Fancy Enumerable\" class=\"class-ref selectable\">Enumerable</code> of 2 indices used for a sub-array.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Element(s) stored in <code data-lang=\"fancy\">self</code> at <code data-lang=\"fancy\">index</code>, possibly <code data-lang=\"fancy\">nil</code> or an empty <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code>.</div></div></div>\n\n", lines:[79, 79]}, "reverse_each:":{arg:["block"], file:"lib/array.fy", doc:"<p>Example:</p>\n\n<pre><code> [1,2,3] reverse_each: @{print}\n # prints: 321\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">block</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> to be called for each element (in reverse order).</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", lines:[127, 127]}, ":*":{arg:["num"], file:"lib/array.fy", doc:"<p>Returns a new <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> that contains the elements of self num times\nin a row.</p>\n\n<div class=\"doctags\"></div>\n\n", lines:[309, 309]}, ":+":{arg:["other"], file:"lib/array.fy", doc:"<p>Returns concatenation with another <code data-lang=\"fancy\" data-class-ref=\"Fancy\" class=\"class-ref selectable\">Fancy</code> <code data-lang=\"fancy\" data-class-ref=\"Fancy Enumerable\" class=\"class-ref selectable\">Enumerable</code>.</p>\n\n<p>Example:</p>\n\n<pre><code> [1,2,3] + [3,4,5] # =&gt; [1,2,3,3,4,5]\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Concatenation of <code data-lang=\"fancy\">self</code> with <code data-lang=\"fancy\">other</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">other</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Fancy\" class=\"class-ref selectable\">Fancy</code> <code data-lang=\"fancy\" data-class-ref=\"Fancy Enumerable\" class=\"class-ref selectable\">Enumerable</code> to be appended.</div></div></div>\n\n", lines:[327, 327]}, "remove:":{arg:["obj"], file:"lib/array.fy", doc:"<p>Removes all occurances of obj in the Array.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">self</code>, with all occurances of <code data-lang=\"fancy\">obj</code> removed.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">obj</code> </label><div>Object to be removed within <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", lines:[250, 250]}, "[]:":{arg:["idx", "obj"], file:"lib/rbx/array.fy", doc:"<p>Inserts a given object at a given index (position) in the Array.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">idx</code> </label><div>Index to set a value for.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">obj</div></div><div</code> class=\"doctag\"><label> <code data-lang=\"fancy\">obj</code> </label><div>Value (object) to be set at the given index.</div></div></div>\n\n", lines:[73, 73]}, ":rest":{arg:[], file:"lib/array.fy", doc:"<p>Returns all elements except the first one as a new <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>All elements in an <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> after the first one.</div></div></div>\n\n", lines:[94, 94]}, "at:":{arg:["idx"], file:"lib/rbx/array.fy", doc:"<p>Returns the element in the <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> at a given index.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">idx</code> </label><div>Index for value to retrieve.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Value with the given index (if available), or <code data-lang=\"fancy\">nil</code>.</div></div></div>\n\n", lines:[59, 59]}, "at:put:":{arg:["idx", "obj"], file:"lib/rbx/array.fy", doc:"<p>Inserts a given object at a given index (position) in the Array.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">idx</code> </label><div>Index to set a value for.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">obj</div></div><div</code> class=\"doctag\"><label> <code data-lang=\"fancy\">obj</code> </label><div>Value (object) to be set at the given index.</div></div></div>\n\n", lines:[73, 73]}, "append:":{arg:["arr"], file:"lib/array.fy", doc:"<p>Appends another <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> onto this one.</p>\n\n<p>Example:</p>\n\n<pre><code> a = [1,2,3]\n a append: [3,4,5]\n a # =&gt; [1,2,3,3,4,5]\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">self</div></div><div</code> class=\"doctag\"><label> <code data-lang=\"fancy\">arr</code> </label><div>Other <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> to be appended to <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n", lines:[45, 45]}, "from:to:":{arg:["from", "to"], file:"lib/array.fy", doc:"<p>Returns sub-array starting at from: and going to to:</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">to</code> </label><div>End index ofr sub-array.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">from</code> </label><div>Start index for sub-array.</div></div></div>\n\n", lines:[381, 381]}, "remove_at:":{arg:["index"], file:"lib/rbx/array.fy", doc:"<p>Removes an element at a given index.\nIf given an Array of indices, removes all the elements with these indices.\nReturns the deleted object if an index was given, the last deleted object for an Array given.</p>\n\n<div class=\"doctags\"></div>\n\n", lines:[34, 34]}, "reject!:":{arg:["block"], file:"lib/array.fy", doc:"<p>Same as Array#reject: but doing so in-place (destructive).</p>\n\n<div class=\"doctags\"></div>\n\n", lines:[227, 227]}}}, "ActorProxy":{doc:"<p>A ActorProxy is a Proxy that forwards any message sent to it to it's\nIf explicitly sent an async message, it will forward the async send\nto <code data-lang=\"fancy\">target</code>, returning nil instead of a <code data-lang=\"fancy\" data-class-ref=\"FutureSend\" class=\"class-ref selectable\">FutureSend</code>, as expected.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">target</code> </label><div>instance variable as a future send by default.</div></div></div>\n\n", ancestors:["ActorProxy", "Fancy BasicObject", "Object", "Kernel"], methods:{}, instance_methods:{}}, "Symbol":{doc:"<p>Symbols are unique identifiers and only created once.</p>\n\n<p>If there are several occurrances of the same Symbol literal within\nFancy code, they all refer to the same Symbol object.</p>\n\n<div class=\"doctags\"></div>\n\n", ancestors:["Symbol", "ImmediateValue", "Object", "Kernel"], methods:{}, instance_methods:{"call:":{arg:["arg"], file:"lib/symbol.fy", doc:"<p>This allows Symbols to be used like Blocks\n(e.g. in all methods of Enumerable).\nExample:\n[1, 2, 3] map: 'squared # => [1, 4, 9]</p>\n\n<div class=\"doctags\"></div>\n\n", lines:[15, 15]}, ":call":{arg:[], file:"lib/symbol.fy", doc:"<p>Sends <code data-lang=\"fancy\">self</code> as message to the sender in its context.\nExample:\n'foo call\n # => same as\n self foo</p>\n\n<p> if: x then: 'foo else: 'bar\n # same as:\n if: x then: { self foo } else: { self bar }</p>\n\n<div class=\"doctags\"></div>\n\n", lines:[35, 35]}, ":defined?":{arg:[], file:"lib/rbx/symbol.fy", doc:"<p>Indicates if a Symbol is defined as a constant in the senders scope.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">true</code>, if <code data-lang=\"fancy\">self</code> is defined as a constant in senders scope, <code data-lang=\"fancy\">false</code> otherwise.</div></div></div>\n\n", lines:[18, 18]}}}, "Fancy Package Dependency":{doc:"<p>Package Dependency.\nRepresents a Dependency to another Package with a given version.</p>\n\n<div class=\"doctags\"></div>\n\n", ancestors:["Fancy Package Dependency", "Object", "Kernel"], methods:{}, instance_methods:{"initialize:":{arg:["@name"], file:"lib/package/dependency.fy", doc:"<p>Forward to message initialize:version:</p>\n\n<div class=\"doctags\"></div>\n\n", lines:[11, 11]}}}, "Directory":{doc:"<p>Instances of <code data-lang=\"fancy\" data-class-ref=\"Directory\" class=\"class-ref selectable\">Directory</code> represent directories in the filesystem of\nthe operating system, in which Fancy is being run.</p>\n\n<div class=\"doctags\"></div>\n\n", ancestors:["Directory", "Object", "Kernel"], methods:{"delete:":{arg:["dirname"], file:"lib/rbx/directory.fy", doc:"<p>Deletes a directory with a given name, if it's empty.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">dirname</code> </label><div>Path to <code data-lang=\"fancy\" data-class-ref=\"Directory\" class=\"class-ref selectable\">Directory</code> to delete.</div></div></div>\n\n", lines:[38, 38]}, "create!:":{arg:["dirname"], file:"lib/rbx/directory.fy", doc:"<p>Creates a new <code data-lang=\"fancy\" data-class-ref=\"Directory\" class=\"class-ref selectable\">Directory</code> on the filesystem, ignoring any\nExceptions that might occur.\nBasically works like running <code>mkdir -p</code> on the shell.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">dirname</code> </label><div>Path of <code data-lang=\"fancy\" data-class-ref=\"Directory\" class=\"class-ref selectable\">Directory</code> to create.</div></div></div>\n\n", lines:[24, 24]}, "list:":{arg:["pattern"], file:"lib/rbx/directory.fy", doc:"<p>Example usage:\n Directory list: \"tests/<em>*/</em>.fy\" # => [\"tests/file1.fy\", \"tests/more/file2.fy\"]</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">pattern</code> </label><div>Directory pattern or name containing files to be returned as an <code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Array\" class=\"class-ref selectable\">Array</code> of files matching directory <code data-lang=\"fancy\">pattern</code>.</div></div></div>\n\n", lines:[54, 54]}, "create:":{arg:["dirname"], file:"lib/rbx/directory.fy", doc:"<p>Creates a new <code data-lang=\"fancy\" data-class-ref=\"Directory\" class=\"class-ref selectable\">Directory</code> on the filesystem, possibly throwing\nIOError Exceptions that might occur.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">dirname</code> </label><div>Path of <code data-lang=\"fancy\" data-class-ref=\"Directory\" class=\"class-ref selectable\">Directory</code> to create.</div></div></div>\n\n", lines:[8, 8]}, "exists?:":{arg:["dirname"], file:"lib/directory.fy", doc:"<p>Indicates, if a Directory exists with a given pathname.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">@return</code> </label><div><code data-lang=\"fancy\">true</code>, if <code data-lang=\"fancy\" data-class-ref=\"Directory\" class=\"class-ref selectable\">Directory</code> exists, <code data-lang=\"fancy\">false</code> otherwise.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">dirname</code> </label><div>Path of <code data-lang=\"fancy\" data-class-ref=\"Directory\" class=\"class-ref selectable\">Directory</code> to check for existance.</div></div></div>\n\n", lines:[13, 13]}}, instance_methods:{}}, "System":{doc:"<p>System class. Holds system-wide relevant methods.</p>\n\n<div class=\"doctags\"></div>\n\n", ancestors:["System", "Object", "Kernel"], methods:{"do:":{arg:["command_str"], file:"lib/rbx/system.fy", doc:"<p>Runs the given string as a system() command.</p>\n\n<div class=\"doctags\"></div>\n\n", lines:[29, 29]}, "pipe:":{arg:["command_str"], file:"lib/rbx/system.fy", doc:"<p>Runs the given string as a popen3() call and returns a IO handle\nthat can be read from</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"IO\" class=\"class-ref selectable\">IO</code> object representing the command's <code data-lang=\"fancy\">STDOUT</code> IO stream.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">command_str</code> </label><div>String to run as a command via popen3()</div></div></div>\n\n", lines:[50, 50]}, ":abort":{arg:[], file:"lib/system.fy", doc:"<p>Exits the current running Fancy process (application) with an exit\ncode of 1 (indicating failure).</p>\n\n<div class=\"doctags\"></div>\n\n", lines:[6, 6]}, "piperead:":{arg:["command_str"], file:"lib/rbx/system.fy", doc:"<p>Runs the given string as a popen() call and returns the output\nof the call as a string.</p>\n\n<div class=\"doctags\"></div>\n\n", lines:[38, 38]}, "abort:":{arg:["message"], file:"lib/system.fy", doc:"<p>Prints a given message on <code data-lang=\"fancy\"><em>stderr</em></code> and then exits with an exit\ncode of 1 (indicating failure).</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">message</code> </label><div>Error message to be printed before aborting programm execution.</div></div></div>\n\n", lines:[17, 17]}, "pipe:do:":{arg:["command_str", "block"], file:"lib/rbx/system.fy", doc:"<p>Runs the given string as a popen3() call, passing in a given <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code>.\nThe <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> is expected to take 3 arguments for <code data-lang=\"fancy\">STDIN</code>, <code data-lang=\"fancy\">STDOUT</code> and <code data-lang=\"fancy\">STDERR</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">block</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> to be called with <code data-lang=\"fancy\">STDIN</code>, <code data-lang=\"fancy\">STDOUT</code> and <code data-lang=\"fancy\">STDERR</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">command_str</code> </label><div>String to run as a command via popen3()</div></div></div>\n\n", lines:[63, 63]}, ":exit":{arg:[], file:"lib/rbx/system.fy", doc:"<p>Exit the running Fancy process.</p>\n\n<div class=\"doctags\"></div>\n\n", lines:[11, 11]}, "exit:":{arg:["exitcode"], file:"lib/rbx/system.fy", doc:"<p>Exit the running Fancy process with a given exit code.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">exitcode</code> </label><div>Exit code (Fixnum) to be returned to the parent process.</div></div></div>\n\n", lines:[21, 21]}}, instance_methods:{}}, "Fancy BreakIteration":{doc:"<p>Raised to break the current iteration.\nIt is rescued by Block#loop.</p>\n\n<p>Example:</p>\n\n<pre><code> 10 times: |i| {\n i println\n if: (i == 3) then: {\n Fancy BreakIteration new raise!\n }\n }\n \"Done!\" println\n</code></pre>\n\n<p>Produces:</p>\n\n<pre><code> 0\n 1\n 2\n 3\n Done!\n</code></pre>\n\n<div class=\"doctags\"></div>\n\n", ancestors:["Fancy BreakIteration", "StandardError", "Exception", "Object", "Kernel"], methods:{}, instance_methods:{}}, "RespondsToProxy":{doc:"<p>A RespondsToProxy is a Proxy that forwards any message sent to it to it's <code data-lang=\"fancy\">target</code> instance variable\nonly if it responds to that message. Any messages that <code data-lang=\"fancy\">target</code> doesn't respond to simply won't be sent\nand <code data-lang=\"fancy\">nil</code> will be returned.</p>\n\n<div class=\"doctags\"></div>\n\n", ancestors:["RespondsToProxy", "Fancy BasicObject", "Object", "Kernel"], methods:{}, instance_methods:{"unknown_message:with_params:":{arg:["msg", "params"], file:"lib/proxy.fy", doc:"<p>Forwards all incoming message to <code data-lang=\"fancy\">self</code> to <code data-lang=\"fancy\">@target</code>\nonly if <code data-lang=\"fancy\">@target</code> responds to them.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">msg</code> </label><div>Incoming message name.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">params</code> </label><div>Paremeters of incoming message send.</div></div></div>\n\n", lines:[57, 57]}, "initialize:":{arg:["@target"], file:"lib/proxy.fy", doc:"<p>Initializes a new RespondsToProxy for <code data-lang=\"fancy\">target</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">target</code> </label><div>Target receiver object.</div></div></div>\n\n", lines:[48, 48]}}}}, methods:{"Fancy Enumerator#initialize:with:":{args:["@collection", "@iterator"], doc:"<p>Initializes a new Enumerator with a given <code data-lang=\"fancy\">collection</code>\nand <code data-lang=\"fancy\">iterator</code> selector to be used for iteration.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">collection</code> </label><div>Collection to iterate over.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">iterator</code> </label><div>Selector to use to iterate over <code data-lang=\"fancy\">collection</code>.</div></div></div>\n\n"}, "Fancy Package Handler#initialize:":{args:["@package_name"], doc:"<p>Forward to message initialize:install_path:</p>\n\n<div class=\"doctags\"></div>\n\n"}, "Fancy Package Specification#add_ruby_dependency:":{args:["gem_name"], doc:"<p>Forward to message add_ruby_dependency:version:</p>\n\n<div class=\"doctags\"></div>\n\n"}, "String#:raise!":{args:[], doc:"<p>Raises a new StdError with <code data-lang=\"fancy\">self</code> as the message.</p>\n\n<div class=\"doctags\"></div>\n\n"}, "Object#with_mutable_slots:do:":{args:["slotnames", "block"], doc:"<p>Calls <code data-lang=\"fancy\">block</code> with <code data-lang=\"fancy\">self</code> while having slots defined in <code data-lang=\"fancy\">slotnames</code>\nbe mutable during execution of <code data-lang=\"fancy\">block</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">block</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> to be called with <code data-lang=\"fancy\">self</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">slotnames</code> </label><div><code data-lang=\"fancy\">Fancy</code> Enumerable@ of slotnames to be mutable within <code data-lang=\"fancy\">block</code>.</div></div></div>\n\n"}, "Fancy Package Specification#add_dependency:":{args:["name"], doc:"<p>Forward to message add_dependency:version:</p>\n\n<div class=\"doctags\"></div>\n\n"}, "Object#for_options:do:":{args:["op_names", "block"], doc:"<p>Runs a given block if any of the given options is in ARGV.</p>\n\n<div class=\"doctags\"></div>\n\n"}, "Object#for_option:do:":{args:["op_name", "block"], doc:"<p>Runs a given block if an option is in ARGV.</p>\n\n<div class=\"doctags\"></div>\n\n"}, "Fancy Enumerator#:peek":{args:[], doc:"<p>Returns the next object in the Enumerator, but doesn't move the\ninternal position forward.\nWhen the position reaches the end, a Fancy StopIteration exception is\nraised.</p>\n\n<p>Example:</p>\n\n<pre><code> a = [1,2,3]\n e = a to_enum\n e next p #=&gt; 1\n e peek p #=&gt; 2\n e peek p #=&gt; 2\n e peek p #=&gt; 2\n e next p #=&gt; 2\n e next p #=&gt; 3\n e next p #=&gt; raises Fancy StopIteration\n</code></pre>\n\n<div class=\"doctags\"></div>\n\n"}, "Fancy Package Handler#load_fancypack:":{args:["success_block"], doc:"<p>Forward to message load_fancypack:else:</p>\n\n<div class=\"doctags\"></div>\n\n"}, "Fancy Enumerator#with:each:":{args:["object", "block"], doc:"<p>Similar to #each: but also passing in a given <code data-lang=\"fancy\">object</code> to each invocation of <code data-lang=\"fancy\">block</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">block</code> </label><div>A <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> to be called with each element in the collection and <code data-lang=\"fancy\">object</code>.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">object</code> </label><div>Object to pass along to <code data-lang=\"fancy\">block</code> with each element in the collection.</div></div></div>\n\n"}, "ThreadPool#initialize:":{args:["@count"], doc:"<p>Forward to message initialize:limit:</p>\n\n<div class=\"doctags\"></div>\n\n"}, "Fancy Package Handler#load_fancypack:else:":{args:["success_block", "else_block"], doc:"<p>Loads the @.fancypack file within the downloaded package directory.\nIf no @.fancypack file is found, raise an error.</p>\n\n<div class=\"doctags\"></div>\n\n"}, "Fancy Enumerator#:next":{args:[], doc:"<p>Returns the next element in the collection this enumerator is attached to.\nIt will move the internal position forward (compared to e.g. #peek, which doesn't).</p>\n\n<p>Example:</p>\n\n<pre><code> a = [1,2,3]\n e = a to_enum\n e next # =&gt; 1\n e next # =&gt; 2\n e next # =&gt; 3\n e next # =&gt; raises Fancy StopIteration\n</code></pre>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div>Next element in the collection this enumerator is attached to.</div></div></div>\n\n"}, "Module#[]:":{args:["constant_name", "value"], doc:"<p>Sets the value of a constant with the given name in <code data-lang=\"fancy\">self</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">constant_name</code> </label><div>Name (<code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code>) of constant's name.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">value</code> </label><div>New value of constant to be used.</div></div></div>\n\n"}, "Fancy FDoc JSON#write:":{args:["filename"], doc:"<p>Forward to message write:call:</p>\n\n<div class=\"doctags\"></div>\n\n"}, "Module#included:":{args:["module"], doc:"<p>Gets called when a <code data-lang=\"fancy\" data-class-ref=\"Class\" class=\"class-ref selectable\">Class</code> or <code data-lang=\"fancy\" data-class-ref=\"Module\" class=\"class-ref selectable\">Module</code> is included into another <code data-lang=\"fancy\" data-class-ref=\"Class\" class=\"class-ref selectable\">Class</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">module</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Module\" class=\"class-ref selectable\">Module</code> or <code data-lang=\"fancy\" data-class-ref=\"Class\" class=\"class-ref selectable\">Class</code> that has been included into <code data-lang=\"fancy\">self</code>.</div></div></div>\n\n"}, "Module#:[]":{args:["constant_name"], doc:"<p>Returns the value of the constant with the given name in <code data-lang=\"fancy\">self</code>.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">constant_name</code> </label><div>Name (<code data-lang=\"fancy\" data-class-ref=\"String\" class=\"class-ref selectable\">String</code>) of constant's name.</div></div><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">constant_name's</code> value.</div></div></div>\n\n"}, "ThreadPool#execute:":{args:["block"], doc:"<p>Forward to message execute:with_args:</p>\n\n<div class=\"doctags\"></div>\n\n"}, "Fancy Enumerator#each:":{args:["block"], doc:"<p>Calls a given <code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> with each element in the collection this enumerator is attached to.\nUsed for iterating over the collection using this enumerator.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">block</code> </label><div><code data-lang=\"fancy\" data-class-ref=\"Block\" class=\"class-ref selectable\">Block</code> to be called with each element in the collection (iteration).</div></div></div>\n\n"}, "Fancy Enumerator#:rewind":{args:[], doc:"<p>Resets the enumerator to start from the collection's beginning.</p>\n\n<div class=\"doctags\"></div>\n\n"}, "ThreadPool#execute_synchronous:":{args:["block"], doc:"<p>Forward to message execute_synchronous:with_args:</p>\n\n<div class=\"doctags\"></div>\n\n"}, "Fancy Enumerator#:ended?":{args:[], doc:"<p>Indicates if an enumerator has ended (no more values left).</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">return</code> </label><div><code data-lang=\"fancy\">true</code> if the enumerator has ended (no more values left), <code data-lang=\"fancy\">false</code> otherwise.</div></div></div>\n\n"}, "Fancy Enumerator#initialize:":{args:["@collection"], doc:"<p>Initializes a new Enumerator with a given <code data-lang=\"fancy\">collection</code>,\nusing #each: for iteration.</p>\n\n<div class=\"doctags\"><div class=\"doctag\"><label> <code data-lang=\"fancy\">collection</code> </label><div>Collection to iterate over.</div></div></div>\n\n"}}, objects:{}, title:"Fancy Documentation", date:"Sat May 05 16:14:47 +0200 2012"}); })();
@@ -1,12 +1,14 @@
1
- def quicksort: arr {
2
- match arr size {
3
- case (0..1) -> arr
4
- case _ ->
5
- piv = arr at: $ rand(arr size)
6
- (quicksort: $ arr select: |x| { x < piv }) + (quicksort: $ arr select: |x| { x >= piv })
1
+ class Array {
2
+ def quicksort {
3
+ match size {
4
+ case 0 -> self
5
+ case _ ->
6
+ (rest select: @{ < first } . quicksort) + [first] + (rest select: @{ >= first } . quicksort)
7
+ }
7
8
  }
8
9
  }
9
10
 
10
- arr = 0 upto: 10 . map: { rand(100) }
11
- arr inspect println
12
- quicksort: arr . inspect println
11
+ (1..10) map: { 100 random } . tap: @{
12
+ inspect println
13
+ quicksort inspect println
14
+ }
@@ -71,49 +71,21 @@ class Array {
71
71
 
72
72
  def [index] {
73
73
  """
74
- @index Index to get the value for or @Array@ of 2 indices used for a sub-array.
74
+ @index Index to get the value for or @Fancy::Enumerable@ of 2 indices used for a sub-array.
75
75
  @return Element(s) stored in @self at @index, possibly @nil or an empty @Array@.
76
76
 
77
- Given an @Array@ of 2 @Fixnum@s, it returns the sub-array between the given indices.
77
+ Given an @Fancy::Enumerable@ of 2 @Fixnum@s, it returns the sub-array between the given indices.
78
78
  If given a single @Fixnum@, returns the element at that index.
79
79
  """
80
80
 
81
- # if given an Array, interpret it as a from:to: range subarray
82
- if: (index is_a?: Array) then: {
83
- from: (index[0]) to: (index[1])
81
+ if: (index is_a?: Fancy Enumerable) then: {
82
+ start, end = index
83
+ from: start to: end
84
84
  } else: {
85
85
  at: index
86
86
  }
87
87
  }
88
88
 
89
- def first {
90
- """
91
- @return The first element in the @Array@.
92
- """
93
- at: 0
94
- }
95
-
96
- def second {
97
- """
98
- @return The second element in the @Array@.
99
- """
100
- at: 1
101
- }
102
-
103
- def third {
104
- """
105
- @return The third element in the @Array@.
106
- """
107
- at: 2
108
- }
109
-
110
- def fourth {
111
- """
112
- @return The fourth element in the @Array@.
113
- """
114
- at: 3
115
- }
116
-
117
89
  def rest {
118
90
  """
119
91
  @return All elements in an @Array@ after the first one.
@@ -237,17 +209,6 @@ class Array {
237
209
  arr append: other_arr
238
210
  }
239
211
 
240
- def join {
241
- """
242
- @return Elements of @Array@ joined to a @String@.
243
-
244
- Joins all elements with the empty @String@.
245
- [\"hello\", \"world\", \"!\"] join # => \"hello,world!\"
246
- """
247
-
248
- join: ""
249
- }
250
-
251
212
  def select!: condition {
252
213
  """
253
214
  @condition A condition @Block@ (or something @Callable) for selecting items from @self.
@@ -315,16 +276,6 @@ class Array {
315
276
  nil
316
277
  }
317
278
 
318
- def to_s {
319
- """
320
- @return @String@ representation of @Array@.
321
-
322
- Returns @String@ representation of @Array@.
323
- """
324
-
325
- reduce: |x y| { x ++ y } init_val: ""
326
- }
327
-
328
279
  def inspect {
329
280
  """
330
281
  @return Pretty-printed @String@ representation of @self.
@@ -364,15 +315,32 @@ class Array {
364
315
  arr
365
316
  }
366
317
 
367
- def + other_arr {
318
+ def + other {
368
319
  """
369
- @return Concatenation of @self with another @Array@
320
+ @other @Fancy::Enumerable@ to be appended.
321
+ @return Concatenation of @self with @other.
322
+
323
+ Returns concatenation with another @Fancy::Enumerable@.
370
324
 
371
- Returns concatenation with another @Array@.
325
+ Example:
372
326
  [1,2,3] + [3,4,5] # => [1,2,3,3,4,5]
373
327
  """
374
328
 
375
- clone append: other_arr
329
+ clone append: other
330
+ }
331
+
332
+ def - other {
333
+ """
334
+ @other @Fancy::Enumerable@ to be subtracted from @self.
335
+ @return @Array@ of elements in @self excluding all elements in @self and @other.
336
+
337
+ Returns an @Array@ of all values in @self that are not in @other.
338
+
339
+ Example:
340
+ [1,2,3,4] - [2,4,5] # => [1,3]
341
+ """
342
+
343
+ self reject: |x| { other includes?: x }
376
344
  }
377
345
 
378
346
  def indices {
@@ -152,7 +152,6 @@ class Block {
152
152
  """
153
153
 
154
154
  obj = DynamicSlotObject new do: self . object
155
- obj metaclass read_write_slots: (obj slots)
156
155
  obj
157
156
  }
158
157
 
@@ -11,7 +11,7 @@
11
11
  # define all the functionality to let fancy run on rbx.
12
12
  # also, they might override functionality defined in lib/ to reuse
13
13
  # existing ruby methods etc.
14
- require: "rbx.fy"
14
+ require: "rbx"
15
15
 
16
16
  require: "object"
17
17
  require: "class"
@@ -51,4 +51,4 @@ require: "system"
51
51
 
52
52
  require: "documentation"
53
53
 
54
- require: "package.fy"
54
+ require: "package"
@@ -108,6 +108,23 @@ class Class {
108
108
  define_slot_writer: slotname
109
109
  }
110
110
 
111
+ def lazy_slot: slotname value: block {
112
+ """
113
+ @slotname Name of slot to be lazily set.
114
+ @block @Block@ to be called to get the slot's lazy evaluated value.
115
+
116
+ Defines a lazy getter for @slotname that yields the result of calling @block and caches it in @slotname.
117
+ @block will be called with @self as the implicit receiver, so other slots can be used within @block.
118
+ """
119
+
120
+ define_method: slotname with: {
121
+ unless: (get_slot: slotname) do: {
122
+ set_slot: slotname value: $ block call_with_receiver: self
123
+ }
124
+ get_slot: slotname
125
+ }
126
+ }
127
+
111
128
  def subclass?: class_obj {
112
129
  """
113
130
  @class_obj Class object to check for, if @self is a subclass of @class_obj.
@@ -136,4 +153,72 @@ class Class {
136
153
 
137
154
  alias_method_rbx: new_method_name for: old_method_name
138
155
  }
156
+
157
+ def delegate: methods to_slot: slotname {
158
+ """
159
+ @methods @Fancy::Enumerable@ of method names to be delegated.
160
+ @slotname Name of slot to delegate @methods to.
161
+
162
+ Example:
163
+ class MyClass {
164
+ delegate: ('to_s, 'inspect) to_slot: 'my_slot
165
+ def initialize: @my_slot
166
+ }
167
+
168
+ m = MyClass new: [1, 2, 3]
169
+ m to_s # => \"123\"
170
+ m inspect # => \"[1, 2, 3]\"
171
+ """
172
+ { methods = methods to_a } unless: $ methods is_a?: Fancy Enumerable
173
+
174
+ methods each: |m| {
175
+ keywords = m to_s split: ":"
176
+ message_with_args = ""
177
+
178
+ match m to_s {
179
+ case "[]" -> message_with_args = "[arg]"
180
+ case "[]:" -> message_with_args = "[arg1]: arg2"
181
+ case _ ->
182
+ keywords map_with_index: |kw i| {
183
+ if: (kw =~ /[a-zA-Z]/) then: {
184
+ if: (m to_s includes?: ":") then: {
185
+ message_with_args << "#{kw}: arg_#{i}"
186
+ } else: {
187
+ message_with_args << kw
188
+ }
189
+ } else: {
190
+ message_with_args << "#{kw} arg_#{i}"
191
+ }
192
+ message_with_args << " "
193
+ }
194
+ }
195
+
196
+ mdef = "def #{message_with_args}"
197
+
198
+ mdef << " {\n"
199
+ mdef << "@#{slotname} #{message_with_args}"
200
+
201
+ mdef << "\n}"
202
+
203
+ class_eval: {
204
+ mdef eval
205
+ }
206
+ }
207
+ }
208
+
209
+ def inspect {
210
+ """
211
+ @return Name of class and its superclass as a @String@.
212
+
213
+ Example:
214
+ Fixnum inspect # => \"Fixnum : Integer\"
215
+ Object inspect # => \"Object\"
216
+ """
217
+
218
+ if: superclass then: {
219
+ "#{name} : #{superclass}"
220
+ } else: {
221
+ name
222
+ }
223
+ }
139
224
  }