File: Issue65.rb

package info (click to toggle)
codequery 1.0.1%2Bdfsg-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 17,860 kB
  • sloc: cpp: 151,420; xml: 16,576; python: 5,602; ansic: 5,487; makefile: 559; perl: 496; ruby: 209; sql: 194; sh: 106; php: 53; vhdl: 51; erlang: 47; objc: 22; lisp: 18; cobol: 18; modula3: 17; asm: 14; fortran: 12; ml: 11; tcl: 6
file content (71 lines) | stat: -rw-r--r-- 1,327 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
def dbg_args(a, b=1, c:, d: 6, &block) = puts("Args passed: #{[a, b, c, d, block.call]}")
dbg_args(0, c: 5) { 7 }

class A
	def attr = @attr
	def attr=(value)
		@attr = value
	end
	def attr? = !!@attr
	def attr! = @attr = true
	# unary operator
	def -@ = 1
	def +@ = 1
	def ! = 1
	def !@ = 1
	# binary operator
	def +(value) = 1 + value
	def -(value) = 1 - value
	def *(value) = 1 * value
	def **(value) = 1 ** value
	def /(value) = 1 / value
	def %(value) = 1 % value
	def &(value) = 1 & value
	def ^(value) = 1 ^ value
	def >>(value) = 1 >> value
	def <<(value) = 1 << value
	def ==(other) = true
	def !=(other) = true
	def ===(other) = true
	def =~(other) = true
	def <=>(other) = true
	def <(other) = true
	def <=(other) = true
	def >(other) = true
	def >=(other) = true
	# element reference and assignment
	def [](a, b) = puts(a + b)
	def []=(a, b, c)
		puts a + b + c
	end
	# array decomposition
	def dec(((a, b), c)) = puts(a + b + c)
	# class method
	def self.say(*s) = puts(s)
	# test short method name
	def a = 1
	def ab = 1
end

# class method
def String.hello
  "Hello, world!"
end
# singleton method
greeting = "Hello"
def greeting.broaden
  self + ", world!"
end
# one line definition
def a(b, c) b; c end
# parentheses omitted
def ab c
	puts c
end

# Test folding of multi-line SCE_RB_STRING_QW
puts %W(
a
b
c
)