四月十八日

1326 ワード

メモを取るのは自分が忘れるのを恐れて、必要なコンポーネント: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になるのは簡単そうなのでつけました!
  • 基本タイプ:
  • フルサイズ(Int 32)
  • フロートタイプ(Float 64)
  • 文字型(String)
  • ブール型(truefalse)
  • 明日はすべての保留字を整理することができます.