-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathsierpinski_sidef.sf
88 lines (79 loc) · 1.69 KB
/
sierpinski_sidef.sf
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
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
#!/usr/bin/ruby
class Sierpinski {
# **
# * * *
# **
method letter_s(n) {
var c = ['*'];
{
c = (c.map{|x| ' '*(x.len*2) + x*2 + ' '*(x.len*1) } +
c.map{|x| x + ' '*(x.len) + x + ' '*(x.len) + x } +
c.map{|x| ' '*(x.len*1) + x*2 + ' '*(x.len*2) }
);
} * n;
return c;
}
# *
# *
# *
method letter_i(n) {
var c = ['*'];
{
c = (c.map{|x| x*2 } +
c.map{|x| x*2 } +
c.map{|x| x*2 }
);
} * n;
return c;
}
# *
# **
# ***
method letter_d(n) {
var c = ['*'];
{
c = (c.map{|x| x*1 + ' '*(x.len*2) } +
c.map{|x| x*2 + ' '*(x.len*1) } +
c.map{|x| x*3 }
);
} * n;
return c;
}
# ***
# **
# ***
method letter_e(n) {
var c = ['*'];
{
c = (c.map{|x| x*3 } +
c.map{|x| x*2 + ' '*(x.len) } +
c.map{|x| x*3 }
);
} * n;
return c;
}
# ***
# **
# *
method letter_f(n) {
var c = ['*'];
{
c = (c.map{|x| x*3 } +
c.map{|x| x*2 + ' '*(x.len*1) } +
c.map{|x| x*1 + ' '*(x.len*2) }
);
} * n;
return c;
}
}
var size = 2;
var ski = Sierpinski();
var str = "sidef";
var chars = gather {
str.each { |char|
take(ski.('letter_' + char)(size))
}
}
chars.zip { |*a|
say a.join(' ')
}