Tldr:我如何將'Shoes方法'包含到Array類和類中?使用最少的代碼創建,而不需要完全重構所有內容?我的課程不能使用鞋子方法,如第
我已經在Ruby中編寫了一個功能正常的程序,現在我想從中創建一個Shoes應用程序。
我遇到了手冊開頭描述的問題 - Shoes.app本身就是一種塊,所以自我總是指它,鞋類方法如「para」不一定會成爲無處不在的方式「放」是在Ruby中。但我沒有足夠的智能來修復它(我只是用自己的頭來回報純Ruby,忍受着我)
例如,我爲Array創建了一個新方法:putdata ,它通過一個學生的測試成績陣列循環作爲列表自動顯示每個:
self.each do |ea|
puts/para "#{ea.topic}: #{ea.score}"
end
工程在紅寶石。在Shoes中無效:Array類無法訪問方法段。我已經試過:
- 使得陣列<鞋(它真的不喜歡)
- 加入stack.app做......最終在各種各樣的地方在程序(沒有影響)
- 嘗試呼籲鞋:: para而不是para(屁)
- 我試過使用require'文件與我所有的類和方法in.rb'而不是相同的代碼在文件中(報告沒有類的方法)
- 在調用方法之前直接嘗試要求我的代碼,以確保我的代碼在Shoes範圍內(報告沒有課程方法)
- 使我的自定義類(課程和學生)<鞋,所以它會訪問其方法(導致運行時錯誤)
我知道了通過發揮作用: 1.刪除此代碼從Array類,並使其成爲浮動/通用的方法,而不是一個數組方法 2.私有方法錯誤 - >然後改寫它,而不是一個數組方法(array.putdata)它是一個通用的方法,它需要一個數組作爲參數(putdata(數組))
但我真的,真的不想通過我的代碼,並單獨取消組織它像這樣。
這是我的第一個1000行程序,有42個方法,我努力使它儘可能保持和整潔,所有東西都放在類或方法中,以便維護。我從大量的,逐步的通用方法到一些活潑的方法,從一切中獲得了它,這看起來更像是OOP如何去做的。現在我能看到做這項工作的唯一方法就是UN-OOP,並且沒有任何類方法或任何東西。我希望能夠從這個整潔的,功能性的後端無縫地實現程序:Ruby程序有很多「if string ==」SAVE「,save(student); else ...」,所以我希望用相同的後面代碼直接彈出「button.click {save(student)}」。
#有沒有什麼根本我想念讓我這樣做?我能否輕鬆解決para問題,因爲我所有的類都包含顯示自己數據的方法?我想在每個課程的頂部複製「包含'鞋子方法'」並完成。
或者我需要從未來的一開始就用GUI來記住GUI?
(信息關於我的程序:
佈局是一系列的頁面,從側邊欄鏈接,使用帶有鏈接的網頁索引直接從沒人知道鞋的書,或者類書樣本複製
學生可以輸入自己的新的水平,並查看他們的當前進度的讀數。
有該程序的主要「部分」,其中有事情喜歡網頁的標題,而一些指令,以及通用的方法然後根據用戶的指示調用學生對象或Module方法來執行這些操作。
更高:學生是一個自定義類,有「保存」,「顯示展平數據」,「如果這個ELSE沒有添加一個關卡」和相關的數據位,如數組他們所有的課程對象都在。
每門課程也是一個自定義類(「模塊」),它有分數,模塊名稱等變量,以及一些微小的方法,如顯示格式化名稱,或添加一個模塊)
你有沒有試過我的解決方案呢? – peter