试验语言我发现select在全局范围内定义,其优先级高于局部变量。 def example(select)
puts select
end
example 3
# Syntax error in eval:3: unexpected token: end (expecting when, else or end)
所以一步与选择一步尝试,我得到这样的: select 1 end
据我了解的类型声明就像kind_of ... “所以类型不严格的类型命名,而是像一个is_a?或kind_of?。“https://github.com/crystal-lang/crystal/issues/4232 所以我认为这部分代码有效。 但是当我使用宏来定义一个继承类的实例方法时,错误消息会抱怨从错误的对象中缺少的方法。 class Base
macro inherited
我做在水晶一个DSL,而我试图让一个语法像~{do_something} 我想是这样的: def ~(&block)
block.call
end
def my_func
puts "hello"
end
~ { my_func }
但我得到的是这样的错误: Error in line 11: undefined method '~' for Tuple(Nil