metaprogramming

    0熱度

    2回答

    我在這裏有一段代碼,我真的可以使用一些幫助重構。我需要使用不同的方法在rails中添加關係數據。代碼取自http://railscasts.com/episodes/75-complex-forms-part-3,我的問題是我需要從材料模型和答案模型中找到方法。所以我需要兩次完全相同的代碼,將「材料」替換爲「答案」。 看來這應該用一些動態規劃來解決?但是我根本沒有經驗。 這是怎麼解決的? afte

    2熱度

    4回答

    我想實現一個Rails User模型,該模型有一個名爲password的DB列。我想使它這樣,當我打電話...... user_instance.password = 'cleartext' 的方法,像這樣把它放在實例之前散列明文: Digest::SHA1.hexdigest(cleartext) 我用回調試過,但問題在於,每次保存用戶時都會浪費pw,即使pw未更新也是如此。所以它會一遍

    2熱度

    3回答

    我正在嘗試編寫一個加載腳本文件的JavaScript類,因爲它們是需要的。我大部分工作。它可以使用以下語法庫: var scriptResource = new ScriptResource('location/of/my/script.js'); scriptResource.call('methodName', arg1, arg2); 我想添加一些額外的語法糖,所以你可以寫 var s

    3熱度

    2回答

    考慮這樣一個 public interface IHaveGenericMethod { T1 Method<T1>(T1 parm); T2 Method<T1,T2>(T1 parm); int Method2(int parm); } 型我如何獲得一個MethodInfo的爲它的方法? 對常規的非泛型方法,如方法2,我可以 typeof(IHaveGen

    2熱度

    3回答

    我有一些方法的類。這是超讚的,但我已經複製了我能在這裏。 Class RayGun # flashes red light # requires confirmation # makes "zowowowowowow" sound def stun! # ... end # flashes blue light #

    4熱度

    2回答

    你知道一個圖書館,允許我們生成用戶界面,只是指出它應該生成? 我想一定是誰實施了機制,使我們能夠這樣變換代碼的人: class Main { @Command int add(int a, int b) { return a+b; } } 到,比方說,有2個文本字段和一個按鈕對話框?或成爲一個網絡表格?你有想法,對吧? 類型的用戶界面和語言並不重要,

    0熱度

    3回答

    是前一年0 CE還是1 BCE? 這是一個元編程問題,涉及列表中第一個數字的宗教戰爭。它應該是0還是1? 幾點考慮: 什麼會理查德·斯托曼說?我最近閱讀他的一篇文章,他對OLPC提供的Windows感到不滿。他列出了這個不好的原因。該列表編號從0開始。 他們將如何處理第10年問題(Y1),當突然電腦必須將每年存儲的位數加倍時? Joel如何處理這個問題,考慮到當他提出了一個Excel版本的新版本的

    3熱度

    4回答

    我在一個目錄中有一堆Python模塊,都是派生類。我需要一個「runner」腳本,爲每個模塊實例化其中的類(實際的類名可以通過模塊文件名構建),並在每個模塊上調用「go」方法。 我不知道有多少模塊是有的,但我可以列出所有的人都通過的東西通配符的目錄,如「機器人_ *。PY」 我認爲這是一些有關「元編程」,但怎麼可能是最好的(最優雅的)方法呢?

    14熱度

    5回答

    我最近在python中發現了metaclasses。 基本上在python元類是創建一個類的類。有很多有用的理由你爲什麼要這麼做 - 例如任何類的初始化。在工廠註冊類,對屬性進行復雜的驗證,改變繼承的工作方式等等。所有這些都變得不僅可能而且簡單。 但是在Python中,元類也是普通類。於是,我開始想,如果抽象可以有效走得更高,而且在我看來,它可以和: 元類對應於或實現某種模式中的角色(如GOF模式

    76熱度

    7回答

    我在ployglot programming on the Java platform上閱讀TheServerSide上的一篇文章。文章中的一些評論將元編程稱爲生成代碼的能力(可能即時)。 元編程能夠在運行中生成代碼,還是能夠在運行時將方法和屬性注入現有對象(如Python,Ruby和Groovy允許的一些動態語言)。