[4, 4, 2, 3].inject(0) do |result, num|
result + num
end
13
i = 0
[4, 4, 2, 3].each do |num|
i += num
end
i
13
[4, 4, 2, 3].inject do |result, num|
result + num
end
13
[4, 4, 2, 3].inject(:+)
13
[4, 4, 2, 3].map(&:to_s)
["4", "4", "2", "3"]
[4, 4, 2, 3].inject(&:+)
13
[4, 4, 2, 3].inject(1, :+)
14
%w(Alice Bob Charlie).each_with_object({}) do |name, result|
result[name] = name.length
end
{"Alice"=>5, "Bob"=>3, "Charlie"=>7}
array = [1, 2.0, 3.0, 4]
array.group_by{ |val| val.class }
{Integer=>[1, 4], Float=>[2.0, 3.0]}
array.group_by{ |val| val.to_i.odd? }
{true=>[1, 3.0], false=>[2.0, 4]}
array.partition{ |val| val.to_i.odd? }
[[1, 3.0], [2.0, 4]]
range = (1..10)
p range.max
p range.min
p range.minmax
10 1 [1, 10]
[1, 10]
people = %w(alice bob charlie)
p people.min_by {|s| s.length}
p people.max_by {|s| s.length}
people.minmax_by {|s| s.length}
"bob" "charlie"
["bob", "charlie"]
# how to implement argmax()?
people.find_index(people.max_by{|s| s.length})
2
people.each.
with_index.to_a.
max_by{|s| s.first.length}.last
2
p people.sort
p people.sort{|a, b| a.length <=> b.length }
people.sort_by{|name| name.length}
["alice", "bob", "charlie"] ["bob", "alice", "charlie"]
["bob", "alice", "charlie"]
次回 "5-5-2 Array"から