簡體   English   中英

如果涉及塊,如何在一個對象上調用多個方法?

[英]How can I call multiple methods on an object if there are blocks involved?

假設字符串參數可能包含整數:

def turn_string_into_integer_array(string)
    array = string.split(" ").collect { |i| i.to_i }
end

如果在同一行中,我想使用inject方法對整數求和,考慮到語句末尾有一個塊,我該怎么做?

您可以將其鏈接到塊的末尾並加上句點

def turn_string_into_integer_array(string)
  string.split(" ").collect { |i| i.to_i }.inject(:+)
end

您為什么不只調用該方法?

string.split(" ").collect { |i| i.to_i }.inject(0) {|acc, el| acc + el }

但是,這會更習慣地寫為

string.split(" ").map(&:to_i).inject(0, :+)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM