duck-typing

    1熱度

    2回答

    在我的Grails應用程序中,一個人對某種東西有着一種喜愛 - 而某種東西可能是一種想法,一種決定,一種羣體或另一種人。 在Java中我會強加一個Something接口,以便每個這些類都可以作爲Something類型傳入。 在Groovy/Grails中,我曾經在Something是一個Groovy類,而Fondness類是一個將Persons映射到Somethings的集合類。 當我嘗試在這種情

    1熱度

    1回答

    我使用visual studio和c#win窗體(web窗體)。我嘗試打開連接到MS 2005服務器和閱讀器查詢。這裏 - 是 sql = "SELECT Files.ID, Files.FileName, Files.File_Name, Files.CreatingDate, aspnet_Users.UserName, aspnet_Membership.Email " + "FROM a

    1熱度

    3回答

    我創建了一個跟蹤汽車裏程和服務歷史的程序,以便更新用戶即將到來的汽車服務需求。 我有三類:Car,CarHistory和CarServiceHistoryEntry。第三個是直截了當的;它保持了與服務相關聯的所有屬性:日期,里程數,服務執行等CarHistory類如下: require_relative 'car_service_history_entry' class CarHistory

    1熱度

    3回答

    是否所有的動態語言都支持duck typing? 我認爲PHP支持鴨子打字。是這樣嗎?

    2熱度

    4回答

    我有一個接受參數的方法,該參數可以是數組/類似對象或哈希。該方法的要點是一樣的東西: def find(query = {}) if Array === query or Set === query query = {:_id => {'$in' => query.to_a}} end mongo_collection.find(query) end

    1熱度

    2回答

    所以我一直在尋找到單表繼承近來,和發現這個共同的提問/回答: 問題:你如何從阿爾法改變類的對象obj來 Beta版,假設貝塔<阿爾法,在STI? 回答:ruby是一種鴨子型語言,所以你不用鑄造。但是,所有你需要做的是將「類型」變量「測試版」並保存對象,而下一次加載阿爾法對象將是類型測試版: obj = Alpha.new obj.save #now obj is of type Alpha

    3熱度

    5回答

    從Java的背景來看,我對Ruby對其方法參數的完全態度感到有些不安。而在Java中,我可以保證參數x是該方法正常工作所必需的類型,在Ruby中,我無法保證x是一個整數,一個字符串或其他任何事情。 例子:如果我想用Java編寫的absolute_value方法,頭會像 public static int absoluteValue(int x) 在Ruby中它會是這樣的 def self.ab

    3熱度

    2回答

    通過舉例的方式考慮下面簡單的Python功能: def quantize(data, nlevels, quantizer=lambda x, d: int(floor(x/d))): llim = min(data) delta = (max(data) - llim)/(nlevels - 1) # last level x == max(data) only y

    -1熱度

    1回答

    這是一件令我困惑的事情,似乎我一次又一次地碰到ruby本地數據類型的方法,這些方法做了相同的事情(本質上),但名稱不同。如果鴨子打字受到ruby和ruby社區的強烈鼓勵,那麼爲什麼這些方法在不同類型中一致地命名呢?

    0熱度

    2回答

    @interface Dog : NSObject @end @implementation Dog - (id)valueForUndefinedKey:(NSString *)key { if ([key isEqualToString:@"quacks"]) return YES; } @end 上述允許利用KVC和寫類似: [[Dog new] va