From: duerst@... Date: 2017-03-15T03:07:42+00:00 Subject: [ruby-core:80169] [Ruby trunk Feature#13208] Vector.zero(n) and vector.zero? Issue #13208 has been updated by duerst (Martin D��rst). stomar (Marcus Stollsteimer) wrote: > Just curious: > > ``` ruby > Vector.zero(0).zero? # => true or false? > ``` > > Not sure what I would expect in this case. Definitely `true`. More generally, ``` ruby Vector.zero(x).zero? # => true ``` for any value of `x`. Colloquially, all the values in the vector are zero, even if there aren't that many values there. That also matches how Mathematics works. It also works best that way in programming. The simplest implementation of `zero?` is something like ``` ruby class Vector def zero? all { |e| e.zero? } end end ``` which will automatically give the right result. ---------------------------------------- Feature #13208: Vector.zero(n) and vector.zero? https://bugs.ruby-lang.org/issues/13208#change-63608 * Author: qitar888 (Chia-sheng Chen) * Status: Closed * Priority: Normal * Assignee: marcandre (Marc-Andre Lafortune) * Target version: ---------------------------------------- Found that I need this recently, and class `Matrix` has these two function while `Vector` not. So I add two function based on `Matrix` counterpart and also add test. Usage ``` ruby require 'matrix' v = Vector.zero(3) # => Vector[0, 0, 0] v.zero? # => true w = Vector[1, 0, 0] w.zero? # => false ``` ---Files-------------------------------- 0001-Add-Vector.zero-n-and-vector.zero.patch (2.06 KB) -- https://bugs.ruby-lang.org/ Unsubscribe: