Mojo trait
IntableRaising
The IntableRaising
trait describes a type can be converted to an Int, but the conversion might raise an error.
Any type that conforms to Intable
or IntableRaising
works with the built-in
int()
function.
This trait requires the type to implement the __int__()
method, which can
raise an error. For example:
@value
struct Foo(IntableRaising):
var i: Int
fn __int__(self) raises -> Int:
return self.i
@value
struct Foo(IntableRaising):
var i: Int
fn __int__(self) raises -> Int:
return self.i
Now you can use the int()
function to convert a Foo
to an
Int
:
foo = Foo(42)
assert_equal(int(foo), 42)
foo = Foo(42)
assert_equal(int(foo), 42)
Implemented traits
AnyType
,
UnknownDestructibility
Methods
__int__
__int__(self: _Self) -> Int
Get the integral representation of the value.
Returns:
The integral representation of the type.
Raises:
If the type does not have an integral representation.
Was this page helpful?
Thank you! We'll create more content like this.
Thank you for helping us improve!