如何在Ruby中为对象创建交叉点

时间:2013-12-18 19:37:39

标签: ruby methods intersection

我有一个带两个对象的方法。其中一个点是@from_point,另一个是@to_point。我有一个方法(get_from_point)选择必须指向from_point的点如果我已经知道(point_one,point_two)中的哪一个是{{}}我该如何指定@to_point {1}}

@from_point

4 个答案:

答案 0 :(得分:1)

你可以这样做:

@to_point = @from_point == point_one ? point_two : point_one

但是我建议重构你的方法来返回和返回,所以你可以这样做:

@from_point, @to_point = get_from_and_to_points(point_one, point_two)

答案 1 :(得分:0)

使用Array#uniq

def initialize(point_one, point_two)
    @from_point,@to_point = [get_from_point(point_one, point_two),point_one, point_two].uniq
end

以下是一些测试:

x,y = [2,1,2].uniq
x # => 2
y # => 1
x,y = [1,1,2].uniq
x # => 1
y # => 2

答案 2 :(得分:0)

@to_point = [point_one, point_two].delete(@from_point).first

答案 3 :(得分:0)

没有任何条件......

@from_point = get_from_point(point_one, point_two)
@to_point = (point_one + point_two) - @from_point