i < array.size block(array[i]) i += 1u end end func main [1, 2, 3].each do |i| println(i) end # ϥϜμࣜΛ͏ݺͼग़͠ͷߏจҥ each([1, 2, 3], -> i in println(i)) end
i < array.size block(array[i]) i += 1u end end func main [1, 2, 3].each do |i| println(i) end end • do-end ϒϩοΫΫ ϩʔδϟʢมΛΩϟ ϓνϟ͢Δಗ໊ؔʣ ʹม͞ΕΔɽ • ؔͷ࠷ޙͷҾͱ͠ ͯؔΦϒδΣΫτ͕ ͬͯ͘Δ
ϯϓϨʔτΛղܾ → Ϋϥ εςϯϓϨʔτΛղܾ class Random init(@seed) end func gen x := @seed high := x / 127773 low := x % 127773 var t := 16807 * low - 2836 * high t += 0x7fffffff if t <= 0 @seed = t ret t end end
high := x / 127773 low := x % 127773 var t := 16807 * low - 2836 * high t += 0x7fffffff if t <= 0 @seed = t ret t end end template<class T> class Random { T seed; public: Random(T s) : seed(s) {} auto gen() { const auto x = this->seed, high = x / 127773, low = x % 127773; auto t = 16807 * low - 2836 * high; if (t <= 0) { this->seed = t; } return t; } }; %BDIT $