Java VMを実装したのは5年前にRで書いて以来2度目になる。(Rで実装したときのまとめ: Java VM 自作 方法) 異なる言語で同じものを作る過程で、両言語の違いや特徴を感じる場面があったので記録しておく。 Rではいろいろなものが値を返すRではいろいろなものが値を返す。 例えばRのif文は値を返すので結果を代入できる。 val <- if (cond) 1 else -1Pythonのif文だとこう書くことになる。 if cond: val = 1 else: val = -1Pythonで結果を代入したい場合は条件式 (三項演算子) を使う必要がある。 val = 1 if cond else -1もう一つの例としてswitchを見てみる。 Rの場合、switchの結果を代入できる。 name <- "two" val <- switch(name, one = 1, two =
![RとPython両方でJava VMを実装して気づいた言語の違い|igjit](https://cdn-ak-scissors.b.st-hatena.com/image/square/62bc00632a41b836f4a52364fe3822e35151a81e/height=288;version=1;width=512/https%3A%2F%2Fassets.st-note.com%2Fproduction%2Fuploads%2Fimages%2F142906733%2Frectangle_large_type_2_6a3db9d2ff9e6886f7c28f0b7fc52cc0.png%3Ffit%3Dbounds%26quality%3D85%26width%3D1280)