Apply PIE to nghttpx
[platform/upstream/nghttp2.git] / third-party / mruby / mrblib / kernel.rb
1 ##
2 # Kernel
3 #
4 # ISO 15.3.1
5 module Kernel
6
7   # 15.3.1.2.1 Kernel.`
8   # provided by Kernel#`
9   # 15.3.1.3.3
10   def `(s)
11     raise NotImplementedError.new("backquotes not implemented")
12   end
13
14   ##
15   # 15.3.1.2.3  Kernel.eval
16   # 15.3.1.3.12 Kernel#eval
17   # NotImplemented by mruby core; use mruby-eval gem
18
19   ##
20   # ISO 15.3.1.2.8 Kernel.loop
21   # provided by Kernel#loop
22
23   ##
24   # Calls the given block repetitively.
25   #
26   # ISO 15.3.1.3.29
27   def loop(&block)
28     return to_enum :loop unless block
29
30     while true
31       yield
32     end
33   rescue StopIteration => e
34     e.result
35   end
36
37   # 11.4.4 Step c)
38   def !~(y)
39     !(self =~ y)
40   end
41
42   # internal method for inspect
43   def _inspect
44     self.inspect
45   end
46
47   def to_enum(*a)
48     raise NotImplementedError.new("fiber required for enumerator")
49   end
50 end