Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
  • 12:28
    HertzDevil labeled #12193
  • 12:28
    HertzDevil labeled #12193
  • 12:28
    HertzDevil opened #12193
  • 11:05
    straight-shoota opened #12192
  • 11:05
    straight-shoota labeled #12192
  • 11:05
    straight-shoota labeled #12192
  • 10:15
    straight-shoota labeled #12190
  • 08:32
    BrucePerens labeled #12191
  • 08:32
    BrucePerens opened #12191
  • 05:07
    cyangle labeled #12190
  • 05:07
    cyangle opened #12190
  • Jul 03 23:10
    straight-shoota closed #12188
  • Jul 03 23:09
    straight-shoota synchronize #12167
  • Jul 03 21:10
    asterite edited #12182
  • Jul 03 17:30
    straight-shoota closed #12184
  • Jul 03 17:17
    straight-shoota closed #12182
  • Jul 03 17:16
    straight-shoota closed #12169
  • Jul 03 17:16
    straight-shoota closed #12176
  • Jul 03 17:16
    straight-shoota synchronize #12175
  • Jul 03 17:14
    straight-shoota milestoned #12140
From IRC (bridge bot)
@FromIRC
<mfiano> Can someone ELI5 the ~> version operator?
George Dietrich
@Blacksmoke16
image.png
From IRC (bridge bot)
@FromIRC
<mfiano> I read that
<mfiano> Maybe I'm dumb
George Dietrich
@Blacksmoke16
afaik its the same as the ^ in other langs
From IRC (bridge bot)
@FromIRC
<riza> mfiano: the idea with ~> is that it allows for upgrades within the specified point but no higher
George Dietrich
@Blacksmoke16
just a shortcut to say allow versions within this range
From IRC (bridge bot)
@FromIRC
<riza> so if you ~> x.y.z, you leave room for z to increment but not y
George Dietrich
@Blacksmoke16
^
From IRC (bridge bot)
@FromIRC
<riza> and if you ~> x.y, y can increment, z can be anythnig and x cannot change
<mfiano> Oh very good. I don't see why you would want to leave room for y or x to upgrade...how can you know anything other than a patch won't break your code?
<riza> its used under the assumption that the project you're referencing follow SemVer
Alex Kampa
@alex-kampa

Thanks @Blacksmoke16 your solution works, even though

puts [1, 2, 3, 4, 5].reduce(0) { |acc, i| i.to_s =~ /3/ ? acc + i : acc }

is a bit harder to read than

puts [1, 2, 3, 4, 5].reduce(0) { |acc, i| acc = acc + 1 if i.to_s =~ /3/ }

but ok I guess that's the price to pay for a compiled language ... and shows that the transition from Ruby to Crystal is not always that easy.

From IRC (bridge bot)
@FromIRC
<riza> mfiano: if the project is following SemVer, then you know that anything which is a breaking change is a major version increment
<mfiano> Ok I see
George Dietrich
@Blacksmoke16
@alex-kampa whats the end goal of this code?
i noticed i had acc + i instead of acc + 1, so are all you wanting to do is count the number of time 3 is in the array?
Alex Kampa
@alex-kampa
counting elements in an array that match a certain regex
at this stage just playing around with various ways to achieve that
George Dietrich
@Blacksmoke16
puts [1, 2, 3, 4, 5].count { |i| i.to_s.matches? /3/ }
or in this specific case puts [1, 2, 3, 4, 5].count 3
Alex Kampa
@alex-kampa
thanks, the ".matches?" looks good, short and idiomatic. I know, RTFD :-)
Thanks @Blacksmoke16
From IRC (bridge bot)
@FromIRC
<mfiano> Is there a way I can run ameba automatically when I "run" or "spec"?
George Dietrich
@Blacksmoke16
setup a Makefile
From IRC (bridge bot)
@FromIRC
<mfiano> Fair enough
George Dietrich
@Blacksmoke16
dont think youd want to run it every time you go to run the program tho
From IRC (bridge bot)
@FromIRC
<mfiano> Probably whenever I spec though
George Dietrich
@Blacksmoke16
yea
Jason Waldrip
@jwaldrip
alright, solved that one... next Q
how is is possible to call .from_json on an abstract class and have it resolve to one of its decendants?
From IRC (bridge bot)
@FromIRC
<mfiano> Ah cool, no Makefile required
George Dietrich
@Blacksmoke16
crystal spec && ./bin/ameba?
From IRC (bridge bot)
@FromIRC
<mfiano> on save, vim-crystal seems to annotate the margin and with error icons, and when cursor is on one of those lines, message in status bar
George Dietrich
@Blacksmoke16
ah nice, i know sublime runs the formatter on save as wel, is super nice
From IRC (bridge bot)
@FromIRC
<mfiano> Yeah vim-crystal seems to run the formatter (optionally [disabled by default for some reason]), and ameba if available, though no mention of that or switch for it
From IRC (bridge bot)
@FromIRC
<mfiano> Day 1 actually getting the tooling set up and writing a small amount of code, and I must say, Crystal was easier to get comfortable with than most of the few dozen or so languages I've tried.
George Dietrich
@Blacksmoke16
:thumbsup:
From IRC (bridge bot)
@FromIRC
<mfiano> development_dependencies are included when not building with --release, right, or is there some other criteria that classifies what "development" means?
George Dietrich
@Blacksmoke16
they're dependencies not used in the final build of the code
i.e. ameba, and testing stuff
From IRC (bridge bot)
@FromIRC
<mfiano> Right, I'm looking at debug.cr right now...they say you can call Debug.enabled = true if you don't want to set an env var, so I'm wondering if I can check some flag as to not call that in release builds
George Dietrich
@Blacksmoke16
{% unless flag? :release %}
  Debug.enabled = true
{% end %}
would be true whenever its built without --release
From IRC (bridge bot)
@FromIRC
<mfiano> You mean the inverse ;⁠)
<mfiano> But, thanks
George Dietrich
@Blacksmoke16
i mean Debug.enabled would be true w/o --release
From IRC (bridge bot)
@FromIRC
<mfiano> Oh yes you're right, I read your description wrong.
<mfiano> It might be about time for bed :⁠/