Project

General

Profile

Actions

Feature #17769

closed

Proposal: numeric coefficient syntax

Added by mrkn (Kenta Murata) 7 months ago. Updated 7 months ago.

Status:
Rejected
Priority:
Normal
Assignee:
-
Target version:
-
[ruby-core:103140]
Tags:

Description

When we write a mathematical equation, we often omit a multiplication operator between a coefficient and a variable like 2x.
I guess this convention can be useful in computer programming. Practically, Julia employs this notation:

julia> 2pi
6.283185307179586

julia> x = 3
3

julia> 2x
6

julia> pi
π = 3.1415926535897...

julia> 2pi
6.283185307179586

I wrote a proof-of-concept patch to introduce this notation in Ruby.
We can write the following with this patch:

irb(main):001:0> x = 3
=> 3
irb(main):002:0> 2x
=> 6
irb(main):003:0> def pi = Math::PI
=> :pi
irb(main):004:0> 2pi
=> 6.283185307179586

Files

num_coeff.patch (1.03 KB) num_coeff.patch mrkn (Kenta Murata), 04/01/2021 03:25 AM
Actions #1

Updated by mame (Yusuke Endoh) 7 months ago

  • Tags set to joke

Updated by matz (Yukihiro Matsumoto) 7 months ago

i = 10
p 2i # => 20 or Complex(0,2)?

Matz.

Updated by mrkn (Kenta Murata) 7 months ago

2i is an imaginary number literal so it is Complex(0, 2).

Actions #4

Updated by mrkn (Kenta Murata) 7 months ago

  • File deleted (num_coeff.patch)

Updated by mrkn (Kenta Murata) 7 months ago

  • File num_coeff.patch added

I replaced the attached patch with changes to accept not only 2x but also 2(x + 1).

Updated by mrkn (Kenta Murata) 7 months ago

Replace the patch with refactoring.

Actions #7

Updated by mrkn (Kenta Murata) 7 months ago

  • File deleted (num_coeff.patch)
Actions #8

Updated by mrkn (Kenta Murata) 7 months ago

  • Status changed from Open to Rejected
Actions

Also available in: Atom PDF