Is there a list of conflicting plugins?
-
TrueTangent.rb is overriding Float::=~ which is the regular expression operator with a unique function that disables regular expression functionality altogether.
My suggestion to all those that override global built in classes to avoid it as other scripts may rely on the basic functionality being there and operable. just create a new child class of the built in class and use your own classes in your code if you need to change their functionalities.
-
That's TIG's script: http://forums.sketchucation.com/viewtopic.php?t=19457
-
That code's been around for ages without any complaints... The
=~
isn't a standard method for the Float Class [at least in my 'prgamatic' documentation]: it's a new one I made up to compare two floats as being approximately equal, and 'Regexp' isn't part of Float... is it ??
Any ideas from better Ruby gurus than me ????class Float def =~(num2,tol=10000) num1=(self*tol).to_i num2=(num2*tol).to_i return true if num1==num2 return nil end end #class Float
How do I 'isolate' it to avoid possible clashes [with an 'example' please] - if necessary...
-
@tig said:
That code's been around for ages without any complaints... The
=~
isn't a standard method for the Float Class [at least in my 'prgamatic' documentation]: it's a new one I made up to compare two floats as being approximately equal, and 'Regexp' isn't part of Float... is it ??
Any ideas from better Ruby gurus than me ????How do I 'isolate' it to avoid possible clashes [with an 'example' please] - if necessary...TIG,
The issue is not so much that you add a new method. It is rather the potential clash if another script writer has the exact same idea (and he may have it, because it seems simple and elegant). Then if several scripts define the method
=~
with different precisions or even different meanings, some scripts may potentially not work and this may be hard to find out what is the cause.The normal approach would be to introduce a regular method like "
float_compare(a, b)
". It is less elegant, but at least it is only visible in the script own scope.Fredo
Fredo
-
Thanks Fredo.
I'll make a fix...
[Edit: done.] -
Rick's offset.rb and wikii's FAK.rb (Follow and Keep) both define an
#offset
method for Array and Sketchup::Face classes. May the last one loaded win. -
Didier Bur's dline.rb adds (yet another) offsetPoints method to Array, but then never utilizes the method. Also resets a global $debug to false.
-
The old MatchBox plugin is known to have caused problems. Even the new (1.1) version still mess up the base classes:
http://forums.sketchucation.com/viewtopic.php?f=180&t=12893(I'd prefer if we didn't distribute this plugin at SCF...)
-
Train Simulator 1.2 exporter by Paul Gausden
mstsx.rbReported by Tomaz: http://forums.sketchucation.com/viewtopic.php?f=180&t=12423&hilit=matchbox&start=15#p103041
-
hmm... another benefit a plugin manager could have: check for conflicting plugins from a blacklist or known problem-plugins.
Advertisement