質問編集履歴

1

書式の改善

2017/10/28 23:31

投稿

ruby_rookie
ruby_rookie

スコア15

test CHANGED
File without changes
test CHANGED
@@ -1 +1,29 @@
1
1
  tkを使って画像をランダムに切り替えようと思っています。以下コードのようにdrawメソッドを作成し、ループをまわそうとしていますが、最初の画像は問題なく表示されるものの最初の画像を×ボタンクリックで閉じると、次の画像が出る前にエラーがでます。エラーを解消する方法をご指南ください。なお、rubyそのもののコードでエラーが出ているわけではないので、Rubyタグをつけるのはおかしいかと思いましたが、よろしくお願いします。
2
+
3
+
4
+
5
+ 【本体のコード】
6
+
7
+ require 'tk'
8
+
9
+
10
+
11
+ def draw(num)
12
+
13
+ image = TkPhotoImage.new(file: "./image/#{num}.gif")
14
+
15
+ TkLabel.new(image: image).pack
16
+
17
+ Tk.mainloop
18
+
19
+ end
20
+
21
+
22
+
23
+ 6.times {draw(rand(1..6))}
24
+
25
+
26
+
27
+ 【エラー】
28
+
29
+ G:/Ruby23/lib/ruby/2.3.0/tk.rb:2059:in `_invoke': can't invoke "image" command: application has been destroyed (RuntimeError)