Argument vs. parametr – które jest które?

Dość często mi się to myli, jest to więc kolejna doskonała okazja do sprawdzenia, czy zapisanie informacji wspomaga jej retencję.

W kilku słowach: parametr to zmienna/stała będąca częścią prototypu funkcji, a argument to konkretna wartość do niej przekazana.

void foo(int a);
 
int main()
{
    foo(42);
}

W powyższym przykładzie a jest parametrem, a 42 argumentem.

Źródła: 1, 2, 3

Ruby a if __name__ == ‘__main__’:

Ten wpis jest niepowiązany z Pierunem, jest to swoista notatka dla mnie. Dość często zdarza się, że googluję tę samą rzecz (może napisanie tego pozwoli mi na lepsze przyswojenie wyniku poszukiwań – zawsze tego samego): jak zmusić Ruby’ego do wykonania pewnych działań wyłącznie jeśli dany skrypt został włączony bezpośrednio, a nie poprzez require z innego skryptu. Inaczej mówiąc, szukam alternatywy dla tytułowego idiomatycznego kodu w Pythonie:

if __name__ == '__main__':
    foo()

Na szczęście w Rubym jest to równie proste: