Mám pocit, že jsi to špatně pochopil. V tom Evanově blogpostu se píše o tom, že jedna z knihoven (mathn.rb), která je mezi knihovnami bundlovanými s MRI, předefinovává operaci dělení tak, že nevrací celé číslo. Jde nejspíš o tyto řádky:
class Fixnum
alias / quo
end
Problém s Rubiniem je ten, že interně předpokládá "rozumné" chování Fixnumu a takováhle definice ho zmate, vzhledem k tomu, že ovlivní i jeho vnitřnosti, napsané ve stejném Ruby jako uživatelský kód.
Nic v tom postu nenaznačuje, že by Rubinius tuhle definici dělení zavedl jako standardní. K jejímu aplikování je potřeba napsat "require 'mathn'", funguje to tedy úplně stejně jako v MRI.
Jinak řečeno, post neříká "předefinováváme definici dělení celých čísel", ale "když si někdo usmyslí předefinovat dělení celých čísel (nebo udělá nějakou jinou obdobnou opičárnu), náš runtime se s tím v tuto chvíli nesrovná a něco s tím do budoucna budeme muset udělat".
Přečteno 19 387×
Přečteno 16 930×
Přečteno 13 909×
Přečteno 13 242×
Přečteno 11 230×