Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
  • Oct 19 18:53
    straight-shoota closed #11334
  • Oct 19 18:53
    straight-shoota closed #11318
  • Oct 19 18:13
    yxhuvud synchronize #11289
  • Oct 19 18:11
    yxhuvud synchronize #11289
  • Oct 19 17:34
    straight-shoota edited #11340
  • Oct 19 17:33
    straight-shoota labeled #11340
  • Oct 19 17:33
    straight-shoota labeled #11340
  • Oct 19 17:33
    straight-shoota opened #11340
  • Oct 19 17:04
    straight-shoota labeled #11339
  • Oct 19 17:04
    straight-shoota labeled #11339
  • Oct 19 17:02
    will closed #11339
  • Oct 19 16:27
    will opened #11339
  • Oct 19 16:27
    will labeled #11339
  • Oct 19 13:06
    straight-shoota milestoned #11277
  • Oct 19 12:39
    straight-shoota milestoned #11338
  • Oct 19 11:33
    straight-shoota milestoned #11327
  • Oct 19 11:33
    straight-shoota demilestoned #11326
  • Oct 19 11:33
    straight-shoota milestoned #11326
  • Oct 19 10:42
    straight-shoota labeled #11338
  • Oct 19 10:42
    straight-shoota labeled #11338
manveru
@manveru:matrix.org
[m]
this now gives me instance vars, but not annotations
George Dietrich
@Blacksmoke16
the problem is @type.instance_vars has to be used in the context of a method, which it is now
and annotation is empty because the macro is being expanded within the module i'd guess
manveru
@manveru:matrix.org
[m]
ah, the annotation is on the instance var
thanks :)
From IRC (bridge bot)
@FromIRC
<mfiano> I'm trying to affect how an instance of a struct prints with puts, but defining a custom to_s in the struct scope doesn't seem to do anything. What is the correct way?
George Dietrich
@Blacksmoke16
def to_s(io : IO) : Nil
then write the content to that io
From IRC (bridge bot)
@FromIRC
<mfiano> Perfect, thanks.
George Dietrich
@Blacksmoke16
there's also def inspect(io : IO) : Nil which is similar but diff
From IRC (bridge bot)
@FromIRC
* mfiano reads
<mfiano> I see.
<mfiano> Crystal is just amazing me the more I learn it. I'm pretty excited to be getting started. It's so nice to be able to just write what I mean with minimal syntax/short symbols like "to_s".
George Dietrich
@Blacksmoke16
fun fact, to_s also gets invoked if you add a var into a string. I.e. puts "Hello #{user}" is the same as puts "Hello #{user.to_s}"
From IRC (bridge bot)
@FromIRC
<mfiano> I remember reading the performance gotchas about that
From IRC (bridge bot)
@FromIRC
<mfiano> I'm struggling with multiple struct constructors. I have a struct, Foo, with @a and @b variables. I'd like to invoke it as Foo.new(1.2, 3.4), or Foo.new(1.2), in which case, @a and @b would be set to 1.2.
George Dietrich
@Blacksmoke16
is the 2nd value just the first one doupeld?
doubled
From IRC (bridge bot)
@FromIRC
<mfiano> Given one argument, both variables should be set to the same value.
George Dietrich
@Blacksmoke16
def self.new(value : Float64) : self
  new value, value
end

def initialize(@a : Float64, @b : Float64); end
should do it
From IRC (bridge bot)
@FromIRC
<mfiano> Ah so you can only have 1 initialize method?
<mfiano> I was trying to overload that multiple times :⁠/
George Dietrich
@Blacksmoke16
no, but
tl;dr i always just mke initialize represent the actual state of the instance, but then have overloaded .new to transform the arguments into something the initializer constructs
expects*
From IRC (bridge bot)
@FromIRC
<mfiano> That post was very well explained, thanks.
George Dietrich
@Blacksmoke16
From IRC (bridge bot)
@FromIRC
<mfiano> Is there a way to alias a module at the file level?
<mfiano> I don't want to remove the full qualification, but for a long/deep module that is used all over a single file, I would like to alias it to a single character or something
George Dietrich
@Blacksmoke16
technically no, but you shouldn't need to provide the FQN if its in the same namespace

or if its in a diff namespace you can do like

```

private alias Foo = MyApp::Some::Very::Long::Namespace::Foo
private top level aliases are scoped to the file they're defined in
From IRC (bridge bot)
@FromIRC
<mfiano> Oh! I wasn't aware that program-level private stuff was file-local
From IRC (bridge bot)
@FromIRC
<mfiano> That is great
mfiano
@mjfiano:matrix.org
[m]
test
Taupiqueur
@alexherbo2
why I can't refer to Scope in Snippet::Parser?
I have Snippet::Scope struct defined, it can't find it
George Dietrich
@Blacksmoke16
can you share the code/error?
Taupiqueur
@alexherbo2
George Dietrich
@Blacksmoke16
seems the error is coming from YAML::Serializable, can you include more of the strack trace?
Taupiqueur
@alexherbo2
it's odd because if I replace struct Snippet::Scope { with struct Scope, it finds it
George Dietrich
@Blacksmoke16
what happens if you rename the struct to like Snippet::Scope2
Taupiqueur
@alexherbo2
Same error
Can it be due to my forwarded block in Walk filter?