method
step
Related methods
- Class methods (100)
- ajd_to_amjd (<= v1_8_7_330)
- ajd_to_jd (<= v1_8_7_330)
- amjd_to_ajd (<= v1_8_7_330)
- civil
- civil_to_jd (<= v1_8_7_330)
- commercial
- commercial_to_jd (<= v1_8_7_330)
- complete_frags (<= v1_9_2_180)
- day_fraction_to_time (<= v1_8_7_330)
- deprecated_alias (<= v1_8_7_330)
- deprecated_class_method_alias (<= v1_8_7_330)
- fix_style (<= v1_8_7_330)
- gregorian? (<= v1_8_7_330)
- gregorian_leap?
- httpdate
- _httpdate
- iso8601
- _iso8601
- jd
- jd_to_ajd (<= v1_8_7_330)
- jd_to_civil (<= v1_8_7_330)
- jd_to_commercial (<= v1_8_7_330)
- jd_to_ld (<= v1_8_7_330)
- jd_to_mjd (<= v1_8_7_330)
- jd_to_ordinal (<= v1_8_7_330)
- jd_to_wday (<= v1_8_7_330)
- jd_to_weeknum (<= v1_8_7_330)
- jisx0301
- _jisx0301
- json_create
- julian? (<= v1_8_7_330)
- julian_leap?
- ld_to_jd (<= v1_8_7_330)
- leap?
- _load
- mjd_to_jd (<= v1_8_7_330)
- new
- new! (>= v1_9_1_378)
- new_by_frags (<= v1_9_2_180)
- now (<= v1_9_2_180)
- nth_kday (>= v1_9_1_378)
- num_pattern? (<= v1_9_2_180)
- once (<= v1_9_2_180)
- ordinal
- ordinal_to_jd (<= v1_8_7_330)
- parse
- _parse
- _parse_beat (<= v1_8_6_287)
- _parse_day (<= v1_9_2_180)
- _parse_ddd (<= v1_9_2_180)
- _parse_dot (<= v1_9_2_180)
- _parse_eu (<= v1_9_2_180)
- _parse_iso (<= v1_9_2_180)
- _parse_iso2 (<= v1_9_2_180)
- _parse_jis (<= v1_9_2_180)
- _parse_mday (<= v1_9_2_180)
- _parse_mon (<= v1_9_2_180)
- _parse_sla (<= v1_9_2_180)
- _parse_sla_eu (<= v1_8_6_287)
- _parse_sla_ja (<= v1_8_6_287)
- _parse_sla_us (<= v1_8_6_287)
- _parse_time (<= v1_9_2_180)
- _parse_us (<= v1_9_2_180)
- _parse_vms (<= v1_9_2_180)
- _parse_year (<= v1_9_2_180)
- rewrite_frags (<= v1_9_2_180)
- rfc2822
- _rfc2822
- rfc3339
- _rfc3339
- rfc822
- _rfc822
- s3e (<= v1_9_2_180)
- strptime
- _strptime
- _strptime_i (<= v1_9_2_180)
- test_all (>= v2_6_3)
- test_civil (>= v2_6_3)
- test_commercial (>= v2_6_3)
- test_nth_kday (>= v2_6_3)
- test_ordinal (>= v2_6_3)
- test_unit_conv (>= v2_6_3)
- test_weeknum (>= v2_6_3)
- time_to_day_fraction (<= v1_8_7_330)
- today
- valid_civil?
- valid_commercial?
- valid_date?
- valid_date_frags? (<= v1_9_2_180)
- valid_jd?
- valid_nth_kday? (<= v1_9_2_180)
- valid_ordinal?
- valid_time? (<= v1_9_2_180)
- valid_time_frags? (<= v1_9_2_180)
- valid_weeknum? (<= v1_9_2_180)
- weeknum (>= v1_8_6_287)
- weeknum_to_jd (<= v1_8_7_330)
- xmlschema
- _xmlschema
- zone_to_diff (<= v1_8_7_330)
- Instance methods (167)
- <<
- <=>
- == (<= v1_9_2_180)
- ===
- >>
- -
- -@ (<= v1_9_2_180)
- / (<= v1_9_2_180)
- * (<= v1_9_2_180)
- ** (<= v1_9_2_180)
- % (<= v1_9_2_180)
- +
- +@ (<= v1_9_2_180)
- abs (<= v1_9_2_180)
- ajd
- ajd_to_amjd (<= v1_9_2_180)
- ajd_to_jd (<= v1_9_2_180)
- amjd
- amjd_to_ajd (<= v1_9_2_180)
- asctime
- as_json
- ceil (<= v1_9_2_180)
- civil (<= v1_9_2_180)
- civil_to_jd (<= v1_9_2_180)
- coerce (<= v1_9_2_180)
- commercial (<= v1_9_2_180)
- commercial_to_jd (<= v1_9_2_180)
- ctime
- cwday
- cweek
- cwyear
- day
- day_fraction
- day_fraction_to_time (<= v1_9_2_180)
- div (<= v1_9_2_180)
- divmod (<= v1_9_2_180)
- downto
- _dump (<= v1_8_7_330)
- dx_addsub (<= v1_9_2_180)
- dx_conv0 (<= v1_9_2_180)
- dx_conv1 (<= v1_9_2_180)
- dx_muldiv (<= v1_9_2_180)
- emit (<= v1_9_2_180)
- emit_a (<= v1_9_2_180)
- emit_ad (<= v1_9_2_180)
- emit_au (<= v1_9_2_180)
- emit_n (<= v1_9_2_180)
- emit_sn (<= v1_9_2_180)
- emit_w (<= v1_9_2_180)
- emit_z (<= v1_9_2_180)
- england
- eql?
- fill (>= v2_6_3)
- find_fdom (<= v1_9_2_180)
- find_fdoy (<= v1_9_2_180)
- find_ldom (<= v1_9_2_180)
- find_ldoy (<= v1_9_2_180)
- fix_style (<= v1_9_2_180)
- floor (<= v1_9_2_180)
- friday?
- gregorian
- gregorian?
- hash
- hour
- httpdate
- initialize_copy
- inspect
- inspect_raw (>= v2_6_3)
- integer? (<= v1_9_2_180)
- iso8601
- italy
- jd
- jd_to_ajd (<= v1_9_2_180)
- jd_to_civil (<= v1_9_2_180)
- jd_to_commercial (<= v1_9_2_180)
- jd_to_ld (<= v1_9_2_180)
- jd_to_mjd (<= v1_9_2_180)
- jd_to_nth_kday (<= v1_9_2_180)
- jd_to_ordinal (<= v1_9_2_180)
- jd_to_wday (<= v1_9_2_180)
- jd_to_weeknum (<= v1_9_2_180)
- jisx0301
- julian
- julian?
- ld
- ld_to_jd (<= v1_9_2_180)
- leap?
- marshal_dump
- marshal_dump_old (>= v2_6_3)
- marshal_load
- mday
- min
- minute
- mjd
- mjd_to_jd (<= v1_9_2_180)
- modulo (<= v1_9_2_180)
- mon
- monday?
- month
- new_offset
- new_start
- next
- next_day
- next_month
- next_year
- nth_kday? (>= v1_9_1_378)
- nth_kday_to_jd (<= v1_9_2_180)
- offset
- ordinal (<= v1_9_2_180)
- ordinal_to_jd (<= v1_9_2_180)
- prev_day
- prev_month
- prev_year
- quo (<= v1_9_2_180)
- quotient (<= v1_9_2_180)
- quotrem (<= v1_9_2_180)
- remainder (<= v1_9_2_180)
- rfc2822
- rfc3339
- rfc822
- round (<= v1_9_2_180)
- saturday?
- sec
- sec_fraction
- second
- second_fraction
- start
- step
- strftime
- succ
- sunday?
- thursday?
- time (<= v1_9_2_180)
- time_to_day_fraction (<= v1_9_2_180)
- to_c (<= v1_9_2_180)
- to_date
- to_datetime
- to_f (<= v1_9_2_180)
- to_i (<= v1_9_2_180)
- to_int (<= v1_9_2_180)
- to_json
- to_r (<= v1_9_2_180)
- to_s
- to_time
- to_yaml (<= v1_9_1_378)
- truncate (<= v1_9_2_180)
- tuesday?
- upto
- _valid_civil? (<= v1_9_2_180)
- _valid_commercial? (<= v1_9_2_180)
- _valid_jd? (<= v1_9_2_180)
- _valid_nth_kday? (<= v1_9_2_180)
- _valid_ordinal? (<= v1_9_2_180)
- _valid_time? (<= v1_9_2_180)
- _valid_weeknum? (<= v1_9_2_180)
- wday
- wednesday?
- weeknum0 (<= v1_9_2_180)
- weeknum1 (<= v1_9_2_180)
- weeknum_to_jd (<= v1_9_2_180)
- wnum0 (>= v1_8_6_287)
- wnum1 (>= v1_8_6_287)
- xmlschema
- yday
- year
- zone
- zone_to_diff (<= v1_9_2_180)
= private
= protected
step(p1, p2 = v2)
public
Iterates evaluation of the given block, which takes a date object. The limit should be a date object.
Date.new(2001).step(Date.new(2001,-1,-1)).select{|d| d.sunday?}.size #=> 52
Show source
static VALUE d_lite_step(int argc, VALUE *argv, VALUE self) { VALUE limit, step, date; int c; rb_scan_args(argc, argv, "11", &limit, &step); if (argc < 2) step = INT2FIX(1); #if 0 if (f_zero_p(step)) rb_raise(rb_eArgError, "step can't be 0"); #endif RETURN_ENUMERATOR(self, argc, argv); date = self; c = f_cmp(step, INT2FIX(0)); if (c < 0) { while (FIX2INT(d_lite_cmp(date, limit)) >= 0) { rb_yield(date); date = d_lite_plus(date, step); } } else if (c == 0) { while (1) rb_yield(date); } else /* if (c > 0) */ { while (FIX2INT(d_lite_cmp(date, limit)) <= 0) { rb_yield(date); date = d_lite_plus(date, step); } } return self; }