四月十八日

做个笔记怕自己忘记了,必要的组件:
array, hash, function, arithmetic, bit arithmetic, comment, assignment, contrl expressions(if-else, while(break, continue), and, or), global variable


详细补充一下:

  • 赋值:= -= += *= /= %= **=(类型推断用Crystal的就好。。)
  • 函数(注释):
func foo(n)
    return func () return n += 1 end  # 单行注释
end
func bar(pa=1, pb=2)
end
  • 算数运算:+ - * / % **(这些都和Crystal是一样一样的,毫无压力,下同)
  • 位运算:& | ^ ~ << >>
  • 逻辑运算:and or not
  • 数组:foo = {1, "hi", 0.1}调用foo[0] #=> 1(不支持类型,实现成无类型的,下同)
  • 字典:foo = {"a": 1, "b": 2}调用foo["a"] #=> 1
  • 控制流(只保留最基本的控制流,其它的用语言本身实现):
  • if-else(switch-case可以在其之上实现,就省得parse了)
if true
      # do something
else
      # another thing
end
  • while(continue, break)
while true
      # do something
end
  • 全局变量:global a = "hello, world"
  • yield:yield是的!看起来parse成Crystal很简单所以加上了!
  • 基本类型:
  • 整型(Int32)
  • 浮点型(Float64)
  • 字符型(String)
  • 布尔型(truefalse

明天就可以整理出所有的保留字了。

你可能感兴趣的:(四月十八日)