duck-typing

Dynamic Typing without duck typing?

I'm used to dynamic typing meaning checking for type info of object/non object oriented structure at runtime and throwing some sort of type error, ie if it quacks like a duck its a duck. Is there a different type of dynamic typing (please go into details). ...

Autocompletion in dynamic language IDEs, specifically Python in PyDev

I'm new to Python, with a background in statically typed languages including lots and lots of Java. I decided on PyDev in eclipse as an IDE after checking features/popularity etc. I was stunned that auto-complete doesn't seem to work properly for builtins. For example if I try automcomplete on datafile after: datafile = open(directory...

How to require implementation of method in Python?

I'm using duck typing in Python. def flagItem(object_to_flag, account_flagging, flag_type, is_flagged): if flag_type == Flags.OFFENSIVE: object_to_flag.is_offensive=is_flagged elif flag_type == Flags.SPAM: object_to_flag.is_spam=is_flagged object_to_flag.is_active=(not is_flagged) object_to_flag.cleanup(...

Avoiding, in general, "undefined method 'some_method' for nil:NilClass" in Ruby

Ruby's duck-typing is great, but this is the one way that it bites me in the ass. I'll have some long running text-processing script or something running, and after several hours, some unexpected set of circumstances ends up causing the script to exit with at NoMethodError due to a variable becoming nil. Now, once it happens, it's usua...

Ruby class types and case statements

What is the difference between case item.class when MyClass # do something here when Array # do something different here when String # do a third thing end and case item.class when MyClass.class # do something here when Array.class # do something different here when String.class # do a third thing end For some reason, ...