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