回答編集履歴

1 訂正

5ara5treamer

5ara5treamer score 47

2016/01/27 01:59  投稿

少なくともこのエラーが出ている原因は分かるような気がします。
> date=class_do.dialog.csv_read
Testクラスのオブジェクトである class_do をレシーバにして,
インスタンスメソッド dialog を呼んでいます。それから,
dialog は TkButton クラスのインスタンスを返していますが,
dialog は TkButton クラスのオブジェクトを返していますが,
TkButton クラスのオブジェクトは Test クラスにある
インスタンスメソッドの csv_read の存在を知らないために,
メソッドが発見できないというエラーを吐いているようです。
csv_read は内部で@select_file を扱うだけですから,
@select_file というインスタンス変数を設定した,
class_do というオブジェクトが csv_read を
呼びだすように変更しましょう。
```Ruby
date=class_do.dialog
p class_do.csv_read
Tk.mainloop
```
こんな感じで何とかなりませんかね?
何とかならなかったら,もう少し詳しく調査します。
あと説明がややわかりづらいかと思うので,
そう思ったら言ってください。

思考するエンジニアのためのQ&Aサイト「teratail」について詳しく知る