kaki-lsystem 0.0.2 → 0.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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: {}