ludy 0.0.1 → 0.0.2
Sign up to get free protection for your applications and to get access to all the features.
- data/lib/ludy/ludy_ext.rb +15 -0
- data/ludy.gemspec +1 -1
- data/test/tc_ludy_ext.rb +27 -1
- metadata +5 -5
data/lib/ludy/ludy_ext.rb
CHANGED
@@ -25,6 +25,13 @@ class Object
|
|
25
25
|
def alias_instance_method new_msg, old_msg
|
26
26
|
self.class.send :alias_method, new_msg, old_msg
|
27
27
|
end
|
28
|
+
def if
|
29
|
+
yield if self
|
30
|
+
end
|
31
|
+
def else
|
32
|
+
if self then self
|
33
|
+
else yield end
|
34
|
+
end
|
28
35
|
end
|
29
36
|
|
30
37
|
class NilClass
|
@@ -32,3 +39,11 @@ class NilClass
|
|
32
39
|
self
|
33
40
|
end
|
34
41
|
end
|
42
|
+
|
43
|
+
class Fixnum
|
44
|
+
def collect
|
45
|
+
result = []
|
46
|
+
self.times{|i| result.push(yield(i))}
|
47
|
+
result
|
48
|
+
end
|
49
|
+
end
|
data/ludy.gemspec
CHANGED
@@ -18,7 +18,7 @@ require 'rubygems'
|
|
18
18
|
|
19
19
|
spec = Gem::Specification.new{|s|
|
20
20
|
s.name = 'ludy'
|
21
|
-
s.version = '0.0.
|
21
|
+
s.version = '0.0.2'
|
22
22
|
s.author = 'Lin Jen-Shin(a.k.a. godfat)'
|
23
23
|
s.email = 'strip number: 135godfat7911@246gmail.890com'
|
24
24
|
s.homepage = 'http://ludy.rubyforge.org/'
|
data/test/tc_ludy_ext.rb
CHANGED
@@ -18,10 +18,36 @@ require 'test/unit'
|
|
18
18
|
require(File.join(File.dirname(__FILE__), '..', 'lib', 'ludy'))
|
19
19
|
require_ludy 'ludy_ext'
|
20
20
|
class TestLudyExt < Test::Unit::TestCase
|
21
|
-
def
|
21
|
+
def test_object_tap
|
22
22
|
assert_equal '11', 10.tap{|i| assert_equal '10', i.to_s}.succ.to_s
|
23
23
|
end
|
24
24
|
def test_nil
|
25
25
|
assert_nil nil.XD.Orz.zzz
|
26
26
|
end
|
27
|
+
def test_fixnum_collect
|
28
|
+
a, b, c = 3.collect{|i| i}
|
29
|
+
assert_equal 0, a
|
30
|
+
assert_equal 1, b
|
31
|
+
assert_equal 2, c
|
32
|
+
|
33
|
+
array = 5.collect{Array.new}
|
34
|
+
assert_equal 5, array.size
|
35
|
+
5.times{|y|
|
36
|
+
5.times{|x|
|
37
|
+
break if x == y
|
38
|
+
assert_not_equal array[x].object_id, array[y].object_id
|
39
|
+
}
|
40
|
+
assert_equal Array, array[y].class
|
41
|
+
}
|
42
|
+
end
|
43
|
+
def test_if
|
44
|
+
assert_equal "XD", (true ).if{"XD"}
|
45
|
+
assert ! (false).if{"XD"}
|
46
|
+
assert_equal "Orz", (false).if{"XD"}.else{"Orz"}
|
47
|
+
assert_equal "XD", (true ).if{"XD"}.else{"Orz"}
|
48
|
+
assert_equal "XD", (true ).if{"xd"}.upcase
|
49
|
+
assert ! (false).if{"xd"}.upcase
|
50
|
+
assert_equal "OTL", (false).if{"xd"}.else{"otl"}.upcase
|
51
|
+
assert_equal "XD", (true ).if{"xd"}.else{"otl"}.upcase
|
52
|
+
end
|
27
53
|
end
|
metadata
CHANGED
@@ -1,10 +1,10 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
|
-
rubygems_version: 0.9.
|
2
|
+
rubygems_version: 0.9.4
|
3
3
|
specification_version: 1
|
4
4
|
name: ludy
|
5
5
|
version: !ruby/object:Gem::Version
|
6
|
-
version: 0.0.
|
7
|
-
date: 2007-
|
6
|
+
version: 0.0.2
|
7
|
+
date: 2007-07-18 00:00:00 +08:00
|
8
8
|
summary: Aims to extend Ruby standard library, providing some useful tools that's not existed in the standard library.
|
9
9
|
require_paths:
|
10
10
|
- lib
|
@@ -30,11 +30,10 @@ authors:
|
|
30
30
|
- Lin Jen-Shin(a.k.a. godfat)
|
31
31
|
files:
|
32
32
|
- lib/lib
|
33
|
-
- lib/ludy
|
34
|
-
- lib/ludy.rb
|
35
33
|
- lib/lib/amulti.rb
|
36
34
|
- lib/lib/multi.rb
|
37
35
|
- lib/lib/smulti.rb
|
36
|
+
- lib/ludy
|
38
37
|
- lib/ludy/callstack.rb
|
39
38
|
- lib/ludy/dice.rb
|
40
39
|
- lib/ludy/lazy.rb
|
@@ -44,6 +43,7 @@ files:
|
|
44
43
|
- lib/ludy/variable.rb
|
45
44
|
- lib/ludy/y_combinator.rb
|
46
45
|
- lib/ludy/z_combinator.rb
|
46
|
+
- lib/ludy.rb
|
47
47
|
- test/tc_callstack.rb
|
48
48
|
- test/tc_dice.rb
|
49
49
|
- test/tc_lazy.rb
|