#Filelib/optparse.rb,line898defmatch(key)*values=fetch(key){raiseAmbiguousArgument,catch(:ambiguous){
vifString===cnandString===knifcn.rindex(kn,0)canon,sw,cn=k,v,knnextelsifkn.rindex(cn,0)nextendendthrow:ambiguous
//willbeselected,andconversionfunctionwillbecalledtoprepareitsargument)Tot2=f;//copy-initialization:ambiguous
namesfromAareinjectedintoglobalnamespaceintk=89;//OKtodeclarenameidenticaltooneintroducedbyausingintl=k;//ambiguous
s,eventhoughfoundinBandinCinti=pd.e;//OK:onlyoneenumeratorA::e,eventhoughfoundinBandC++pd.a;//error,ambiguous
#1template<classU>voidf(U,A<U,U>*p=0);//#2voidh(){f<int>(42,(A<int,int>*)0);//calls#2f<int>(42);//error:ambiguous
search(typ,opt){|sw|return[sw,opt]}#exactmatchor...endraiseAmbiguousOption,catch(:ambiguous){visit(:complete