kaki-lsystem 0.0.2 → 0.0.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (4) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +3 -3
  3. data/lib/kaki/lsystem.rb +6 -2
  4. metadata +3 -3
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 3325f0987fcf71272d8c9d6b5e6eed423bbe1a93
4
- data.tar.gz: 59e16df07cd89f0ccf10af90097189c0a28147f2
3
+ metadata.gz: 4a65959693beed33d781a3747ac7d00aeee35918
4
+ data.tar.gz: 0103556a4272c024b3b545580f52688805005630
5
5
  SHA512:
6
- metadata.gz: 8b67d406c5837fc0877918b7364209f1a4dab1a4a181964746d3108ef3ed6db56733dacff912d8eaa3cc4bc63834470a5dc687e1339f112445d7f3fb17c9b626
7
- data.tar.gz: d339ea54f11bcd0e3f2bf52c03b39dd1a45e435e30d14d4168bd8f7e50cfaa6203f188f0c0e7e472e477e043bfe165f52b32d486d6335c196264d7f660d5717e
6
+ metadata.gz: 999244cfa9c7a851c28a9bc02bc847ff58516f8f99942e149a2ff4c45cdda503f156ddf4db27bd9606afafeb08bebe5ce500fccac7a84859ca3f632a6c12064d
7
+ data.tar.gz: 278fdb1cef820a8abfe31fd99e8efaccbec1860bc54b4ae4c4855066adab9ad7166aaec0584b3ac402c94917c48519fcbadbc69a7e2bc26e0ce96f4e0ba02476
data/README.md CHANGED
@@ -8,9 +8,9 @@
8
8
  - インスタンスを生成します。width, height はウィンドウのサイズです。
9
9
  - move(x, y)
10
10
  - ペンの初期位置を移動させます。y方向は上が + です。
11
- - prologue \{...\}
11
+ - prologue do ... end
12
12
  - ブロック内が描画前に実行されます。
13
- - set(command) \{...\}
13
+ - set(command) do ... end
14
14
  - 与えられた command(長さ1の文字列)について、ブロック内を実行するように設定します。
15
15
  - commandの「[」「]」はそれぞれスタックのプッシュ、ポップです。
16
16
  - init(str)
@@ -18,7 +18,7 @@
18
18
  - rule(command, str)
19
19
  - command を再帰的に展開するルールです。
20
20
  - draw(n)
21
- - 再帰的に深さnだけ実行します。n = 0 ならば init(st) で指定された手続きのみ実行します。
21
+ - 再帰的に深さnだけ実行します。n = 0 ならば init(str) で指定された手続きのみ実行します。
22
22
 
23
23
  ブロック内は Oekaki::Turtle クラスのメソッドを使います。left(), right(), forward(), color(), circle(), move(), back() など。下のURL参照。
24
24
  [http://obelisk.hatenablog.com/entry/2018/02/06/025222](http://obelisk.hatenablog.com/entry/2018/02/06/025222)
@@ -11,8 +11,9 @@ class Lsystem
11
11
  @rule = {}
12
12
  @eval = proc {}
13
13
  @po = [0, 0]
14
+ @putout = false
14
15
  end
15
- attr_accessor :dir
16
+ attr_accessor :dir, :putout
16
17
 
17
18
  def move(x, y)
18
19
  @po = [x, y]
@@ -41,6 +42,7 @@ class Lsystem
41
42
  pr += @rule[c] || c
42
43
  end
43
44
  @procedure = pr
45
+ p pr if @putout
44
46
  end
45
47
  end
46
48
 
@@ -53,7 +55,9 @@ class Lsystem
53
55
  when "]"
54
56
  t = stack.pop
55
57
  else
56
- t.instance_exec(&@command[c])
58
+ todo = @command[c]
59
+ raise "#{c} not defined." unless todo
60
+ t.instance_exec(&todo)
57
61
  end
58
62
  end
59
63
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: kaki-lsystem
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 0.0.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - obelisk
@@ -24,7 +24,7 @@ dependencies:
24
24
  - - ">="
25
25
  - !ruby/object:Gem::Version
26
26
  version: 0.1.7
27
- description: L-system language which draws recursive forms.
27
+ description: L-system language which draws recursive image forms.
28
28
  email: obelisk_1968@mail.goo.ne.jp
29
29
  executables: []
30
30
  extensions: []
@@ -40,7 +40,7 @@ files:
40
40
  - example/lsystem_sierpinski_arrowhead.rb
41
41
  - example/lsystem_sierpinski_gasket.rb
42
42
  - lib/kaki/lsystem.rb
43
- homepage:
43
+ homepage: http://obelisk.hatenablog.com/entry/2018/03/22/134130
44
44
  licenses:
45
45
  - MIT
46
46
  metadata: {}