Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
  • 08:23
    caspiano edited #10531
  • Dec 08 23:04
    HertzDevil edited #12623
  • Dec 08 22:57
    Blacksmoke16 edited #9745
  • Dec 08 22:57
    Blacksmoke16 labeled #9745
  • Dec 08 22:57
    Blacksmoke16 labeled #9745
  • Dec 08 22:54
    HertzDevil labeled #12828
  • Dec 08 22:54
    HertzDevil labeled #12828
  • Dec 08 22:54
    HertzDevil opened #12828
  • Dec 08 22:34
    straight-shoota edited #12827
  • Dec 08 22:32
    straight-shoota edited #12827
  • Dec 08 22:29
    straight-shoota labeled #12827
  • Dec 08 22:29
    straight-shoota labeled #12827
  • Dec 08 22:29
    straight-shoota opened #12827
  • Dec 08 22:15
    straight-shoota closed #12814
  • Dec 08 17:12
    straight-shoota assigned #12814
  • Dec 08 17:12
    straight-shoota assigned #12813
  • Dec 08 17:12
    straight-shoota assigned #12809
  • Dec 08 17:12
    straight-shoota assigned #12802
  • Dec 08 17:12
    straight-shoota assigned #12797
  • Dec 08 17:12
    straight-shoota assigned #12664
Quinton Miller
@HertzDevil
InnerClass must also be a generic
Taupiqueur
@alexherbo2
how about adding path.match?(pattern) to wrap around File.match?(pattern, path)? https://crystal-lang.org/api/1.0.0/File.html#match?(pattern:String,path:Path%7CString)-class-method
From IRC (bridge bot)
@FromIRC
<mfiano> Hi again. I spent the last couple days reading the language reference and stdlib api docs. I think I could really become comfortable with this as a secondary language.
Taupiqueur
@alexherbo2
how to get the mime type from a file content?
George Dietrich
@Blacksmoke16
mfiano glad to hear
@alexherbo2 there's a MIME module you can use to get it from the filename/ext
but there isn't a method to do that based on content
From IRC (bridge bot)
@FromIRC
<mfiano> Thanks, it really is nice, and seems to borrow a lot from my primary language, yet seems to check off the items I'm looking for
George Dietrich
@Blacksmoke16
primary lang being Ruby?
Taupiqueur
@alexherbo2
I'm having issues with file without extensions, like bash scripts, using shebangs.
From IRC (bridge bot)
@FromIRC
<mfiano> No, Lisp :⁠)
George Dietrich
@Blacksmoke16
(()ah i see)()()
From IRC (bridge bot)
@FromIRC
<mfiano> I tried Nim a couple years ago, but the compiler was very buggy for a 1.0 release, and the community was quite toxic.
George Dietrich
@Blacksmoke16
@alexherbo2 is a method that you can specify a default for those cases
if that helps
Taupiqueur
@alexherbo2
how to return from a capturing block?, I'm using next in my block, but would like to allow return
George Dietrich
@Blacksmoke16
did you try break?
From IRC (bridge bot)
@FromIRC
<mfiano> I thought break and return cant be used
George Dietrich
@Blacksmoke16
yea, next is the thing to return from a block
Taupiqueur
@alexherbo2
I implemented a filter iterator, taking a block for filtering, but it looks odd that I can't use return in it
emanzx
@emanzx
Hi guys..
today Im trying to learn about crystal Process
puts "Spawning watcher.."
        args = ["-q", "-r", "-m", "-e moved_to", "-e create", "-e delete", "-e modify", "--timeout #{watcher_timeout}", "-o #{watch_log_path}", "#{watch_path}"]
        inotify = Process.new("inotifywait",args: ["-q", "-r", "-m", "-e moved_to", "-e create", "-e delete", "-e modify", "--timeout #{watcher_timeout}", "-o #{watch_log_path}", "#{watch_path}"])
        puts "Inotify is running on PID: #{inotify.pid}"
        sleep watcher_timeout
        watcher_status = false
        if inotify.exists?
            puts "Killing inotify with PID:#{inotify.pid}"
            Process.kill(Signal::KILL,inotify.pid)
        end
it seem like the inotifywait does not run.. maybe exited
but it works ok if I used backtick
try to use Process.new as it will not wait for the process to finish.. I do this as sometimes.. inotifywait just freeze.. and I would force kill it with kill -9
George Dietrich
@Blacksmoke16
might be worth trying like "-e", "create", not sure if that would make a diff tho
versus "-e create"
emanzx
@emanzx
oh.. so I need to split all the args?
ok I test first
George Dietrich
@Blacksmoke16
maybe? could also define the output/error IOs to be the parent process which might give a clue
Process.new("inotifywait", args: args, output: :inherit, error: :inherit)
emanzx
@emanzx
deng it works.. hahaha
thanks @Blacksmoke16 I will add the extra for error checking
George Dietrich
@Blacksmoke16
:thumbsup: can also pass any IO for them
like if you wanted to capture it in an IO::Memory or something
emanzx
@emanzx
noted. for now I just read the process output from file. I think its okay for now..
but I will keep in mind about the IO::Memory
Benjamin Wade
@RespiteSage
What's up with 1.1.0? It looks like there's a GitHub release, but no blog post or forum thread.
From IRC (bridge bot)
@FromIRC
<mfiano> I'm confused about "require" and the default directory structure of "crystal init"
Benjamin Wade
@RespiteSage
What about it?
From IRC (bridge bot)
@FromIRC
<mfiano> The language reference says the typical project layout is to have project/src/file.cr with: require "mylib", and project/lib/mylib/mylib.cr would get loaded. Why then, is lib/ added to the git ignore file? Also why can't I just resolve my own code in the src directory?
George Dietrich
@Blacksmoke16
lib directory is for dependencies
Benjamin Wade
@RespiteSage
^
Your own code should go in src/, just like you want to.
George Dietrich
@Blacksmoke16
like external shards/libraires you depend on. e.g. vendor in composer/bundler
Benjamin Wade
@RespiteSage
When resolving your own code, you just need to use relative paths.
From IRC (bridge bot)
@FromIRC
<mfiano> So I must use the relative designator for require in src/file.cr, like: require "./mylib", and it should find src/mylib/mylib.cr ?