Class: QObject

Inherits:
Q_Object show all
Defined in:
lib/q-language/methods/object.rb

Overview

Copyright © 2010-2011 Jesse Sielaff

Direct Known Subclasses

QArray, QBlock, QDynamic, QFalse, QHash, QModule, QNil, QNumber, QString, QTime, QToken, QTrue

Constant Summary

Constants inherited from Q_Object

Q_Object::Subclasses

Instance Method Summary collapse

Methods inherited from Q_Object

class_name, #env, inherited, #initialize, method_added, method_names, #to_q, #to_qliteral, #value

Constructor Details

This class inherits a constructor from Q_Object

Instance Method Details

#and(object) ⇒ Object



7
8
9
# File 'lib/q-language/methods/object.rb', line 7

def and (object)
  object
end

#array?Boolean

Returns:

  • (Boolean)


11
12
13
# File 'lib/q-language/methods/object.rb', line 11

def array?
  false
end

#block?Boolean

Returns:

  • (Boolean)


15
16
17
# File 'lib/q-language/methods/object.rb', line 15

def block?
  false
end

#break_if(&block) ⇒ Object



19
20
21
22
23
24
25
26
# File 'lib/q-language/methods/object.rb', line 19

def break_if (&block)
  if result = yield
    env::break!
    return value
  end
  
  result
end

#break_unless(&block) ⇒ Object



28
29
30
31
32
33
34
35
# File 'lib/q-language/methods/object.rb', line 28

def break_unless (&block)
  unless result = yield
    env::break!
    return value
  end
  
  result
end

#choose(object_1, object_2) ⇒ Object



37
38
39
# File 'lib/q-language/methods/object.rb', line 37

def choose (object_1, object_2)
  object_1
end

#class?Boolean

Returns:

  • (Boolean)


41
42
43
# File 'lib/q-language/methods/object.rb', line 41

def class?
  false
end

#dupObject



45
46
47
48
49
50
# File 'lib/q-language/methods/object.rb', line 45

def dup
  value.dup
rescue TypeError
  # Duplication is disallowed
  value
end

#dynamic?Boolean

Returns:

  • (Boolean)


52
53
54
# File 'lib/q-language/methods/object.rb', line 52

def dynamic?
  false
end

#eq?(object) ⇒ Boolean

Returns:

  • (Boolean)


56
57
58
# File 'lib/q-language/methods/object.rb', line 56

def eq? (object)
  value == object
end

#eqq?(object) ⇒ Boolean

Returns:

  • (Boolean)


60
61
62
# File 'lib/q-language/methods/object.rb', line 60

def eqq? (object)
  value === object
end

#false?Boolean

Returns:

  • (Boolean)


64
65
66
# File 'lib/q-language/methods/object.rb', line 64

def false?
  false
end

#hash?Boolean

Returns:

  • (Boolean)


68
69
70
# File 'lib/q-language/methods/object.rb', line 68

def hash?
  false
end

#if(&block) ⇒ Object



72
73
74
75
# File 'lib/q-language/methods/object.rb', line 72

def if (&block)
  env::jump! # skip the rest of the block
  yield
end

#jump_if(&block) ⇒ Object



77
78
79
80
81
82
83
84
# File 'lib/q-language/methods/object.rb', line 77

def jump_if (&block)
  if result = yield
    env::jump!
    return value
  end
  
  result
end

#jump_unless(&block) ⇒ Object



86
87
88
89
90
91
92
93
# File 'lib/q-language/methods/object.rb', line 86

def jump_unless (&block)
  unless result = yield
    env::jump!
    return value
  end
  
  result
end

#module?Boolean

Returns:

  • (Boolean)


95
96
97
# File 'lib/q-language/methods/object.rb', line 95

def module?
  false
end

#neq?(object) ⇒ Boolean

Returns:

  • (Boolean)


99
100
101
# File 'lib/q-language/methods/object.rb', line 99

def neq? (object)
  value != object
end

#nil?Boolean

Returns:

  • (Boolean)


103
104
105
# File 'lib/q-language/methods/object.rb', line 103

def nil?
  false
end

#notObject



107
108
109
# File 'lib/q-language/methods/object.rb', line 107

def not
  false
end

#number?Boolean

Returns:

  • (Boolean)


111
112
113
# File 'lib/q-language/methods/object.rb', line 111

def number?
  false
end

#or(object) ⇒ Object



115
116
117
# File 'lib/q-language/methods/object.rb', line 115

def or (object)
  value
end

#same?(object) ⇒ Boolean

Returns:

  • (Boolean)


119
120
121
# File 'lib/q-language/methods/object.rb', line 119

def same? (object)
  value.object_id == object.object_id
end

#string?Boolean

Returns:

  • (Boolean)


123
124
125
# File 'lib/q-language/methods/object.rb', line 123

def string?
  false
end

#tallyObject



127
128
129
# File 'lib/q-language/methods/object.rb', line 127

def tally
  1
end

#time?Boolean

Returns:

  • (Boolean)


131
132
133
# File 'lib/q-language/methods/object.rb', line 131

def time?
  false
end

#token?Boolean

Returns:

  • (Boolean)


135
136
137
# File 'lib/q-language/methods/object.rb', line 135

def token?
  false
end

#true?Boolean

Returns:

  • (Boolean)


139
140
141
# File 'lib/q-language/methods/object.rb', line 139

def true?
  false
end

#unless(&block) ⇒ Object



143
144
145
# File 'lib/q-language/methods/object.rb', line 143

def unless (&block)
  nil
end

#use {|value| ... } ⇒ Object

Yields:



147
148
149
150
# File 'lib/q-language/methods/object.rb', line 147

def use (&block)
  yield value
  value
end

#xor(object) ⇒ Object



152
153
154
# File 'lib/q-language/methods/object.rb', line 152

def xor (object)
  !object
end