Używam if yield self[x]
do oceny, czy blok zwraca wartość true lub false. Muszę uczynić ten blok opcjonalnym i widzę sugestie dotyczące wykonania yield if block_given?
. Jak mogę połączyć te dwie linie?Czy istnieje lepszy sposób na uzyskanie wartości z bloku w Ruby?
7
A
Odpowiedz
7
Czy próbowałeś tego?
if block_given? && yield(self[x])
# ...
end
Ten warunek nie będzie zawsze, gdy blok nie jest podana, to znaczy to, co jest w miejscu # ...
nie będą oceniane. Jeśli chcesz warunek do osiągnięcia sukcesu, jeśli nie blok jest podana, to zrobić w zamian:
if !block_given? || yield(self[x])
# ...
end
albo to, choć myślę, że to trudniejsze do odczytania:
unless block_given? && !yield(self[x])
# ...
end
3
Spróbuj:
if block_given?
if yield self[x]
# Do something....
end
end
0
Możesz dodać warunek do całego bloku if
:
if yield self[x]
# do something...
end if block_given?
Powiązane problemy
- 1. Czy istnieje prosty sposób na uzyskanie wymiarów obrazu w Ruby?
- 2. Czy istnieje sposób na uzyskanie wszystkich wartości w NSUserDefaults?
- 3. Czy istnieje sposób na ustawienie wartości $? w pozorowaniu w Ruby?
- 4. Czy istnieje lepszy sposób na zapisanie tego?
- 5. Czy istnieje lepszy sposób na odświeżenie WebView?
- 6. Czy istnieje lepszy sposób na zbieranie danych z Twittera?
- 7. Czy istnieje lepszy sposób na konwersję z UTCTime na EpochTime?
- 8. Czy istnieje sposób na skomentowanie dużego bloku kodu w TextMate?
- 9. Czy istnieje lepszy sposób dokonywania numpy.argmin() zignorować NaN wartości
- 10. Czy istnieje sposób na uzyskanie pi w arkuszu kalkulacyjnym CSS?
- 11. Czy istnieje lepszy sposób na uzyskanie węzła nadrzędnego wyniku zapytania XPath?
- 12. Czy istnieje sposób na uzyskanie danych pikseli z Internet Explorera?
- 13. Czy istnieje sposób na uzyskanie różnych partion Keys z tabeli
- 14. Lepszy sposób na wypełnienie mieszania ruby?
- 15. Czy istnieje sposób na uzyskanie wszystkich zarządzanych jednostek z EntityManager
- 16. Delphi - Czy istnieje lepszy sposób na uzyskanie skrótów stanu od nazw stanu?
- 17. Czy istnieje lepszy sposób nadawania tablic?
- 18. Czy istnieje lepszy sposób zarządzania zlokalizowanymi ciągami?
- 19. Czy istnieje sposób na uzyskanie domyślnego obiektu $ .ajax?
- 20. Czy istnieje sposób na uzyskanie wszystkich kluczy z wartości w multimapie?
- 21. Czy istnieje sposób na uzyskanie obwiedni (w pikselach) elementu DOM?
- 22. Czy istnieje sposób na uzyskanie wyjątku w Haskell?
- 23. Czy istnieje sposób na uzyskanie identyfikatora pakietu w czasie wykonywania?
- 24. Czy istnieje sposób na uzyskanie REPL w pydev?
- 25. Czy istnieje sprytny sposób na uzyskanie sortable target w jQueryUI
- 26. Czy istnieje sposób na uzyskanie ruchów obiektów całkowitych w vim?
- 27. Czy istnieje łatwy sposób na uzyskanie nazwy ServerName w Symfony?
- 28. Czy istnieje sposób na uzyskanie ograniczeń tabeli w SQLite?
- 29. Czy istnieje sposób na uzyskanie CSS XSS w nowoczesnych przeglądarkach?
- 30. Czy istnieje sposób na zawinięcie bloku ObjectiveC do wskaźnika funkcji?
Dlaczego nie pokazać nam, co próbujesz zrobić, zamiast go opisać? W ten sposób możemy naprawić twój kod, zamiast próbować wrzucić coś do gry? –