In der Programmiersprache Ruby folgende Arbeiten in irbRubin in Schleifenfehler mit {} Blockbegrenzersignal
for fruit in ['apple', 'banana', 'cherry', 'date'] do
puts fruit
end
aber dieses nicht
# error
for fruit in ['apple', 'banana', 'cherry', 'date'] { puts fruit }
Referenz beachten Sie bitte die folgenden Blockabgrenzern tun nicht Fehler
Edit: Ich denke, was ich beobachte, ist eine Inkonsistenz mit der Art, wie Ende ist Substitution Ed für {} kann jemand erklären warum oder bitte meinen Fehler aufzeigen?
weiß nicht, warum, aber es ist eine ähnliche Einschränkung in 'verfeinern do' auch. –
Wenn es einen Trost gibt, brauchen Sie nicht das Öffnen 'do' in einer' for' Schleife. –
Dies könnte damit zu tun haben, dass 'for' und' while' (die für 'for' agieren) keine Methoden sind. Aber ich warte auf eine formale Begründung. –