< :前の番号
^ :番号順リスト
> :次の番号
P :前の記事(スレッド移動)
N :次の記事(スレッド移動)
|<:前のスレッド
>|:次のスレッド
^ :返事先
_:自分への返事
>:同じ返事先を持つ記事(前)
<:同じ返事先を持つ記事(後)
---:分割してスレッド表示、再表示
| :分割して(縦)スレッド表示、再表示
~ :スレッドのフレーム消去
.:インデックス
..:インデックスのインデックス
Issue #10086 has been reported by gogo tanaka.
----------------------------------------
Bug #10086: [PATCH] Remove exponents calculation from mathn.rb
https://bugs.ruby-lang.org/issues/10086
* Author: gogo tanaka
* Status: Open
* Priority: Normal
* Assignee:
* Category: lib
* Target version:
* ruby -v: 2.1.1p76
* Backport: 2.0.0: UNKNOWN, 2.1: UNKNOWN
----------------------------------------
#English
When we override `:**`, we make it alias as `:power!` (mathn.rb:L73, L102)
Like this.
```
alias power! ** unless method_defined? :power!
```
If user have define `:power!`, this `:power!` is called unintentionally.(mathn.rb:L82, L111)
```
def ** (other)
if self < 0 && other.round != other
Complex(self, 0.0) ** other
else
power!(other)
end
end
```
Now that we can do such a exponents calculation without `mathn`, we don't need exetend `:**` in mathn.
That's why I remove `:**` from mathn.rb
#日本語
mathn.rb で `:**` を上書きする際に元の `:**` を `:power!` としてaliasを貼っていますが、(mathn.rb:L73, L102)
```
alias power! ** unless method_defined? :power!
```
使用者が `#power!` を定義していた場合、
(mathn.rb:L82, L111)
```
def ** (other)
if self < 0 && other.round != other
Complex(self, 0.0) ** other
else
power!(other)
end
end
```
の部分で意図せず利用者が定義した`:power!` が呼ばれ可能性があるため、
またそもそもこの種の冪乗演算は `mathn` を必要とせずとも現在は実現されているため、
:** を `mathn` から削除致しました.
--
https://bugs.ruby-lang.org/