少しドットの話

ディフェンシブRプログラミング

Dr. Colin Gillespie

Jumping Rivers

ピリオドの役割

R ではピリオド(.)は特別な意味を持ちます。

  • S3 OOP で使われる仕組みです
  • summary() を呼ぶと
    • R は summary.class_name 関数を探します
ディフェンシブRプログラミング

例: summary() 関数

次を呼ぶと

m <- lm(mpg ~ disp, data = mtcars)
class(m)
#[1] "lm"
ディフェンシブRプログラミング

例: summary() 関数

したがって

summary(m)

は最終的に

summary.lm(m)

を呼びます。ここでの重要ポイントは、ピリオドが非常に重要ということです

ディフェンシブRプログラミング

ひとつの助言

  • R の規約で全員一致は多くありません
  • しかし、変数名に . を使わないことには誰もが同意します
  • 混乱を避けるためです
ディフェンシブRプログラミング

ピリオドで締めくくり

ディフェンシブRプログラミング

Preparing Video For Download...