crystal-lang

    1热度

    1回答

    String.match返回MatchData,但是如何从MatchData获得匹配的字符串? puts "foo bar".match(/(foo)/) 输出: #<MatchData "foo" 1:"foo"> 对不起,我是新来的结晶。

    0热度

    1回答

    在Python中我可以这样做: import re re.split('(o)', 'hello world') ,并得到: ['hell', 'o', ' w', 'o', 'rld'] 随着晶: "hello world".split(/(o)/) 我得到: ["hell", " w", "rld"] 但我想保持像python示例中的数组中的匹配。可能吗? http://c

    4热度

    1回答

    我喜欢eval在Ruby中,因为它的工作原理很简单: eval("puts 7 * 8") # => 56 什么是eval的水晶相同呢?我知道,我们可以用宏类似的东西: macro eval(code) {{code.id}} end eval("puts 7 * 8") # => 56 但是,这不会与运行时的值工作: a = "yo" eval("puts #{a}") # =

    3热度

    2回答

    我知道Crystal在编译时有它的宏定义代码的系统,但有可能除此之外运行代码吗? 例如,我们可以这样做,以便它在编译期间运行? puts "foobar" 或者,对于更严重的例子,我们可以读取和写入运行编译器的文件系统吗?

    4热度

    1回答

    如果我有其他文件需要的文件,是否可以获取需要它的文件的绝对路径? 因此,如果lib_file.cr有一个意思是由导入它的app_file.cr调用的宏,该宏是否可以在编译时发现文件路径为app_file.cr? 我尝试这样的东西: macro tester puts __DIR__ puts __FILE__ end 但是从文件执行需要被调用时,它在编译时给出了什么,这在