Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
  • 01:29
    HertzDevil closed #12519
  • 01:29
    HertzDevil closed #12517
  • 01:24
    HertzDevil synchronize #11840
  • 01:20
    HertzDevil synchronize #12364
  • Sep 24 20:37
    beta-ziliani labeled #12522
  • Sep 24 20:37
    beta-ziliani labeled #12522
  • Sep 24 20:37
    beta-ziliani opened #12522
  • Sep 24 17:15
    mattrberry opened #12521
  • Sep 24 17:15
    mattrberry labeled #12521
  • Sep 24 16:57
    asterite synchronize #12520
  • Sep 24 16:32
    asterite labeled #12520
  • Sep 24 16:32
    asterite labeled #12520
  • Sep 24 16:32
    asterite opened #12520
  • Sep 24 15:07
    Blacksmoke16 labeled #12518
  • Sep 24 13:35
    zw963 edited #12519
  • Sep 24 13:35
    zw963 opened #12519
  • Sep 24 13:35
    zw963 labeled #12519
  • Sep 24 13:25
    zw963 labeled #12518
  • Sep 24 13:25
    zw963 opened #12518
  • Sep 24 10:34
    straight-shoota reopened #11340
George Dietrich
@Blacksmoke16
right, can't you just call c.to_i32?
Ramakrishnan Vasantha Gopal
@vgramkris
so if the String cannot be typecasted to i32 then i expect nil instead of a exception
George Dietrich
@Blacksmoke16
it'll raise on over/under flow iirc
Ramakrishnan Vasantha Gopal
@vgramkris
thats right, that is what i am trying to overcome with the '!'
George Dietrich
@Blacksmoke16
you're getting a compile time error not an over/underflow exception
if you want it to wrap, try .to_i32?
Ramakrishnan Vasantha Gopal
@vgramkris
yep thats right
George Dietrich
@Blacksmoke16
so im not sure i see the problem?
going from a number to number has diff semantics than a string to a number, which is probably why they have slightly diff conversion methods
Ramakrishnan Vasantha Gopal
@vgramkris
yeah exactly, so num to num with ! we can do both checking & assignment in same line
but from string to num i need to check with .to_i32? and then assign
that is what i was trying to understand if there is any reason why for string they did not have .to_i32! while they do have .to_i32 for string
George Dietrich
@Blacksmoke16
still not sure i follow, you deff can do like d : Int32 | Nil = c.to_i32?
because to_i32! represents a wrapping operation on the value if it over/underflows. In the case of a string its to_i32? because you cant wrap a string, and needs to handle the case of the string not being a number. So it'll return nil if either of those happen
Ramakrishnan Vasantha Gopal
@vgramkris
okay this makes sense.. thanks!
George Dietrich
@Blacksmoke16
there is a block version of to_i32 that you can use. Which will use the blocks value in case of under/overflow or its not a valid number
e.g. e : Int32 = c.to_i { 0 }
habit, to_i is the same as to_i32
Ramakrishnan Vasantha Gopal
@vgramkris
sure, this would work as well! thanks @Blacksmoke16
George Dietrich
@Blacksmoke16
np, ofc another solution is to just not go from number to string to number :)
but i assume that was just an example
Ramakrishnan Vasantha Gopal
@vgramkris
:)
baiorett
@baiorett
hi, quick question: how do i split crystal classes to multiple files
George Dietrich
@Blacksmoke16
for what reason?
Daniel Worrall
@Daniel-Worrall
Just define them in multiple files.
You can reopen classes
George Dietrich
@Blacksmoke16
but to answer your question just declare the class and add more stuff to ^
re-declare
Daniel Worrall
@Daniel-Worrall
If you're overwriting methods in the same class, require order matters
baiorett
@baiorett
alright thank you
George Dietrich
@Blacksmoke16
i'd suggest thinking if you really want to do that tho. could just make things more confusing
baiorett
@baiorett
im sorta used to splitting classes because i came to crystal from java
George Dietrich
@Blacksmoke16
Other people might not be. Especially if it's a small type
Depends on the exact use case tho. Not going to really harm anything, but is possible it might mess with overload order
baiorett
@baiorett
Depends on the exact use case tho. i don’t think i’m really going to split each class and make tons of class-files
From IRC (bridge bot)
@FromIRC
<postmodern> how do i link to constants in crystal docs?
<postmodern> also references to class-methods don't seem to be auto-linking.
George Dietrich
@Blacksmoke16
@baiorett good :P
surround the const in back ticks
are you using a . instead of #?
From IRC (bridge bot)
@FromIRC
<postmodern> oh derp. kind of weird to overload markdown syntax like that, but ok
<postmodern> so .foo and #foo should link to the appropriate methods? foo won't, correct?
George Dietrich
@Blacksmoke16
it might if its in the same scope/file
From IRC (bridge bot)
@FromIRC
<postmodern> er yeah, found the example in the reference
From IRC (bridge bot)
@FromIRC
<postmodern> where is the repo for the crystal doc command? i noticed it doesn't add a # link next to constants, to allow permalinking to them.
George Dietrich
@Blacksmoke16
It's in crystal codebase
Can link to constants section but not a specific one ATM
From IRC (bridge bot)
@FromIRC
<postmodern> does crystal docs markdown parser understand tables?
George Dietrich
@Blacksmoke16
I would highly doubt it
But you can try