A Ruby Interpreter written in Rust 🦄
Type | |
---|---|
bool型 | Bool |
int型 | Int |
String | Str |
演算子 | |
---|---|
掛け算 | + |
足し算 | - |
掛け算 | * |
割り算 | / |
余り | % |
乗算 | ** |
比較演算子 | |
---|---|
イコール | == |
大なりイコール | >= |
小なりイコール | <= |
大なり | > |
小なり | < |
p("Hello World!")
i = 10
if i == 10
i = i + 1
else
i = i - 1
end
p(i)
i = 10
while i > 0
p(i)
i = i - 1
end
i = 10
begin
p(i)
i = i - 1
end while i > 0
i = 1
case i
when 0
p("zero")
when 1
p("one")
when 2
p("two")
else
p("others")
end
コードはできるだけ綺麗にするけど開発の速さのためには妥協もする
tree.rootがType::Nilであるときtree.leftがOption::Noneであること
→ 実行速度が遅くなるため
tree.rootがType::Nilであるときtree.rightがOption::Noneでないこと
→ 複雑度が上がり、開発者が潜在的なバグを予測できなくなるため
遠藤侑介 RubyでつくるRuby ラムダノート株式会社