2012-12-20 9 views

Odpowiedz

15

Surowa pragma robi trzy rzeczy w Perlu. Dwa z nich to:
zakazują używania symbolicznych odniesień i "barewords". Ruby nie obsługuje następujących funkcji, więc nie jest to problemem.

Inną cechą ścisłej pragmy jest unikanie tworzenia losowych zmiennych globalnych za każdym razem, gdy się o nich wspomina. W języku Ruby globale wyglądają inaczej niż inne zmienne (wiodące $), więc to nie jest tak naprawdę
problem. Zmienne lokalne należy przypisać przed użyciem, ponieważ jest to metoda deklaracji Ruby. To rozwiązuje ten sam problem, co w przypadku Perla.

Źródło: https://groups.google.com/forum/?fromgroups#!topic/ruby-talk-google/PiRnWplvGDw

+2

Jest pewnie jedna cecha, której nie zabrania, a która wiąże się z pisaniem przy aktualizacji istniejącej zmiennej, np. definiujesz var: $ counter = 0 i później w kodzie wpisujesz literówkę podczas aktualizacji: $ countre = -1 – alcachi

+1

Dobre wyjaśnienie, dlaczego funkcje metaprogramowania utrudniają pełne wdrożenie ścisłych "vars" w ruby: https://www.ruby-forum.com/topic/115069 – alcachi

Powiązane problemy