If you have a problem or need to report a bug please email : support@dsprobotics.com
There are 3 sections to this support area:
DOWNLOADS: access to product manuals, support files and drivers
HELP & INFORMATION: tutorials and example files for learning or finding pre-made modules for your projects
USER FORUMS: meet with other users and exchange ideas, you can also get help and assistance here
NEW REGISTRATIONS - please contact us if you wish to register on the forum
Users are reminded of the forum rules they sign up to which prohibits any activity that violates any laws including posting material covered by copyright
Fractions to Rational Numbers - Ruby Problem.
3 posts
• Page 1 of 1
Fractions to Rational Numbers - Ruby Problem.
I wrote the following Ruby Code that convert Fractions to Rational Numbers with the smallest possible denominator correctly, but I have a problem in that the code as is does not handle the exception error "ZeroDivisionError". I therefore, only used a "0.0" test condition [don't worry too much about the <> signs, that must be corrected as well] as an example as to demonstrate what I intend doing with the code as is. This test condition [i.e. 0.0] must be replaced with whatever will test correctly for "ZeroDivisionError" handling.
Is there someone out there who knows how to 'capture' the 'ZeroDivisionError' in the Flowstone Ruby interpreter and rectify the code below?
As the Ruby code currently is, the Flowstone Ruby interpreter will just 'freeze' when the code is made into a module and executed when it encounters a 'ZeroDivisionError'.
If you study the schematic, you will notice that the main problem in writing the correct 'ZeroDivisionError' handling Ruby code is that the Fraction is fed to the Flowstone Ruby interpreter not as independent 'x' and 'y' values, but as a single value 'z = (x/y)'.
# RATIONAL NUMBER WITH LOWEST POSSIBLE DENOMINATOR:
x = @fraction.to_r
# IF THEN ELSE, STATEMENT:
if (x.to_f < 0.0) then # What test condition to compare with here for "ZeroDivisionError" outputs??
output 0, x = "ZeroDivisionError"
output 1, x = "ZeroDivisionError" else
if (x.to_f > 0.0) then # What condition to compare with here to skip "ZeroDivisionError" outputs??
output 0, x.to_s
output 1, x.to_f
end
end
# I only used "0.0" test condition as an example as to demonstrate what I intend doing.
# This condition [i.e. 0.0] must be replaced with whatever will test correctly for "ZeroDivisionError" handling.
******************************************************************************************************************************************
# The Ruby Exception Hierarchy:
Exception
NoMemoryError
ScriptError
LoadError
NotImplementedError
SyntaxError
SignalException
Interrupt
StandardError
ArgumentError
IOError
EOFError
IndexError
LocalJumpError
NameError
NoMethodError
RangeError
FloatDomainError
RegexpError
RuntimeError
SecurityError
SystemCallError
SystemStackError
ThreadError
TypeError
ZeroDivisionError
SystemExit
fatal
Is there someone out there who knows how to 'capture' the 'ZeroDivisionError' in the Flowstone Ruby interpreter and rectify the code below?
As the Ruby code currently is, the Flowstone Ruby interpreter will just 'freeze' when the code is made into a module and executed when it encounters a 'ZeroDivisionError'.
If you study the schematic, you will notice that the main problem in writing the correct 'ZeroDivisionError' handling Ruby code is that the Fraction is fed to the Flowstone Ruby interpreter not as independent 'x' and 'y' values, but as a single value 'z = (x/y)'.
# RATIONAL NUMBER WITH LOWEST POSSIBLE DENOMINATOR:
x = @fraction.to_r
# IF THEN ELSE, STATEMENT:
if (x.to_f < 0.0) then # What test condition to compare with here for "ZeroDivisionError" outputs??
output 0, x = "ZeroDivisionError"
output 1, x = "ZeroDivisionError" else
if (x.to_f > 0.0) then # What condition to compare with here to skip "ZeroDivisionError" outputs??
output 0, x.to_s
output 1, x.to_f
end
end
# I only used "0.0" test condition as an example as to demonstrate what I intend doing.
# This condition [i.e. 0.0] must be replaced with whatever will test correctly for "ZeroDivisionError" handling.
******************************************************************************************************************************************
# The Ruby Exception Hierarchy:
Exception
NoMemoryError
ScriptError
LoadError
NotImplementedError
SyntaxError
SignalException
Interrupt
StandardError
ArgumentError
IOError
EOFError
IndexError
LocalJumpError
NameError
NoMethodError
RangeError
FloatDomainError
RegexpError
RuntimeError
SecurityError
SystemCallError
SystemStackError
ThreadError
TypeError
ZeroDivisionError
SystemExit
fatal
- Attachments
-
- RUBY - IF THEN STATEMENT.fsm
- (1.57 KiB) Downloaded 1212 times
-
tiffy - Posts: 400
- Joined: Wed May 08, 2013 12:14 pm
Re: Fractions to Rational Numbers - Ruby Problem.
interesting, this '.to_r' didn`t know that
i think using rescue would fit fine here
i think using rescue would fit fine here
- Attachments
-
- rescue_zero_division.fsm
- (1.43 KiB) Downloaded 1221 times
-
Nubeat7 - Posts: 1347
- Joined: Sat Apr 14, 2012 9:59 am
- Location: Vienna
Re: Fractions to Rational Numbers - Ruby Problem.
Nubeat7 wrote:interesting, this '.to_r' didn`t know that
i think using rescue would fit fine here
Thank you Nubeat7 - very exciting feature this 'rescue'.
-
tiffy - Posts: 400
- Joined: Wed May 08, 2013 12:14 pm
3 posts
• Page 1 of 1
Who is online
Users browsing this forum: No registered users and 65 guests