Strict Standards: Redefining already defined constructor for class wpdb in /homepages/2/d88602193/htdocs/Rebecca/wp-includes/wp-db.php on line 49

Deprecated: Assigning the return value of new by reference is deprecated in /homepages/2/d88602193/htdocs/Rebecca/wp-includes/cache.php on line 36

Strict Standards: Redefining already defined constructor for class WP_Object_Cache in /homepages/2/d88602193/htdocs/Rebecca/wp-includes/cache.php on line 403

Strict Standards: Declaration of Walker_Page::start_lvl() should be compatible with Walker::start_lvl($output) in /homepages/2/d88602193/htdocs/Rebecca/wp-includes/classes.php on line 537

Strict Standards: Declaration of Walker_Page::end_lvl() should be compatible with Walker::end_lvl($output) in /homepages/2/d88602193/htdocs/Rebecca/wp-includes/classes.php on line 537

Strict Standards: Declaration of Walker_Page::start_el() should be compatible with Walker::start_el($output) in /homepages/2/d88602193/htdocs/Rebecca/wp-includes/classes.php on line 537

Strict Standards: Declaration of Walker_Page::end_el() should be compatible with Walker::end_el($output) in /homepages/2/d88602193/htdocs/Rebecca/wp-includes/classes.php on line 537

Strict Standards: Declaration of Walker_PageDropdown::start_el() should be compatible with Walker::start_el($output) in /homepages/2/d88602193/htdocs/Rebecca/wp-includes/classes.php on line 556

Strict Standards: Declaration of Walker_Category::start_lvl() should be compatible with Walker::start_lvl($output) in /homepages/2/d88602193/htdocs/Rebecca/wp-includes/classes.php on line 652

Strict Standards: Declaration of Walker_Category::end_lvl() should be compatible with Walker::end_lvl($output) in /homepages/2/d88602193/htdocs/Rebecca/wp-includes/classes.php on line 652

Strict Standards: Declaration of Walker_Category::start_el() should be compatible with Walker::start_el($output) in /homepages/2/d88602193/htdocs/Rebecca/wp-includes/classes.php on line 652

Strict Standards: Declaration of Walker_Category::end_el() should be compatible with Walker::end_el($output) in /homepages/2/d88602193/htdocs/Rebecca/wp-includes/classes.php on line 652

Strict Standards: Declaration of Walker_CategoryDropdown::start_el() should be compatible with Walker::start_el($output) in /homepages/2/d88602193/htdocs/Rebecca/wp-includes/classes.php on line 677

Deprecated: Assigning the return value of new by reference is deprecated in /homepages/2/d88602193/htdocs/Rebecca/wp-includes/query.php on line 15

Deprecated: Assigning the return value of new by reference is deprecated in /homepages/2/d88602193/htdocs/Rebecca/wp-includes/theme.php on line 505

Deprecated: Assigning the return value of new by reference is deprecated in /homepages/2/d88602193/htdocs/Rebecca/wp-content/plugins/simpleflickr/phpFlickr/phpFlickr.php on line 92

Deprecated: Assigning the return value of new by reference is deprecated in /homepages/2/d88602193/htdocs/Rebecca/wp-content/plugins/simpleflickr/phpFlickr/phpFlickr.php on line 331

Deprecated: Assigning the return value of new by reference is deprecated in /homepages/2/d88602193/htdocs/Rebecca/wp-content/plugins/simpleflickr/phpFlickr/phpFlickr.php on line 400

Deprecated: Assigning the return value of new by reference is deprecated in /homepages/2/d88602193/htdocs/Rebecca/wp-content/plugins/simpleflickr/phpFlickr/phpFlickr.php on line 469
Rebecca’s Ramblings » Blog Archive » Quick tip: ruby’s inject method


Strict Standards: mktime(): It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected 'Europe/Berlin' for 'CEST/2.0/DST' instead in /homepages/2/d88602193/htdocs/Rebecca/wp-includes/functions.php on line 11

Strict Standards: date(): It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected 'Europe/Berlin' for 'CEST/2.0/DST' instead in /homepages/2/d88602193/htdocs/Rebecca/wp-includes/functions.php on line 20

Strict Standards: date(): It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected 'Europe/Berlin' for 'CEST/2.0/DST' instead in /homepages/2/d88602193/htdocs/Rebecca/wp-includes/functions.php on line 22

Strict Standards: date(): It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected 'Europe/Berlin' for 'CEST/2.0/DST' instead in /homepages/2/d88602193/htdocs/Rebecca/wp-includes/functions.php on line 24

Strict Standards: date(): It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected 'Europe/Berlin' for 'CEST/2.0/DST' instead in /homepages/2/d88602193/htdocs/Rebecca/wp-includes/functions.php on line 25

Strict Standards: mktime(): It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected 'Europe/Berlin' for 'CEST/2.0/DST' instead in /homepages/2/d88602193/htdocs/Rebecca/wp-includes/functions.php on line 11

Strict Standards: date(): It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected 'Europe/Berlin' for 'CEST/2.0/DST' instead in /homepages/2/d88602193/htdocs/Rebecca/wp-includes/functions.php on line 20

Strict Standards: date(): It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected 'Europe/Berlin' for 'CEST/2.0/DST' instead in /homepages/2/d88602193/htdocs/Rebecca/wp-includes/functions.php on line 22

Strict Standards: date(): It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected 'Europe/Berlin' for 'CEST/2.0/DST' instead in /homepages/2/d88602193/htdocs/Rebecca/wp-includes/functions.php on line 24

Strict Standards: date(): It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected 'Europe/Berlin' for 'CEST/2.0/DST' instead in /homepages/2/d88602193/htdocs/Rebecca/wp-includes/functions.php on line 25

Quick tip: ruby’s inject method


Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /homepages/2/d88602193/htdocs/Rebecca/wp-includes/formatting.php on line 75

If you’ve been using the online version of the Pickaxe book as your ruby reference, you won’t know about this very useful little method in the Enumerable module. It allows you to do something cumulative with each item in your Enumerable object.

For example, to sum prices in an array of items ordered:

order = [item0, item1, item2]
total_price = order.inject(0) {|sum, item| sum + item.price}

instead of:

order = [item0, item1, item2]
total_price = 0
order.each {|item| total_price += item.price}

Notes:

  • The method parameter is the starting value for whatever the cumulative value is - in this case, sum.
  • The first block parameter is the cumulative value, the second is the current object from the Enumerable.
  • The value returned by the statement in the block is set as the starting value for the next object from the Enumerable.

For more details, see this article on ruby arrays on thinkvitamin.com.

One Response to “Quick tip: ruby’s inject method”

  1. Free classified ads worldwide Says:

    Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /homepages/2/d88602193/htdocs/Rebecca/wp-includes/formatting.php on line 75

    online worldwide free classified ads…

    Free Classified worldiwide ads…

Leave a Reply