Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Range の「要約」に加筆修正 #2187

Merged
merged 2 commits into from
Mar 4, 2020

Conversation

scivola
Copy link
Contributor

@scivola scivola commented Feb 25, 2020

Range のページ
https://docs.ruby-lang.org/ja/2.7.0/class/Range.html
の「要約」に加筆の必要を感じたので,大幅に加筆修正しました。
主なポイントは以下のとおりです。

  • Ruby 2.6 で導入された終端を持たない Range について加筆(2.6.0 対応残り #1977 の一部分を解決)
  • Ruby 2.7 で導入された始端を持たない Range について加筆(Ruby 2.7対応 #2071 の一部分を解決)
  • Range.new による生成方法に言及
  • 「例」の節を「要約」に統合
  • Range が始端・終端との <=> による比較に基づく「含む」判定の機能と,始端から succ でいてレートする「範囲内の繰り返し」の機能の二つの側面を持つことを意識した説明

なお,始端や終端を持たない範囲については,nil あらわに与える書き方を先に掲出し,nil を与えない書き方をその「略した書き方」として掲げました。このほうが理解しやすい(出来上がった範囲オブジェクトの beginendnil を返すこととも整合する)と考えました。


#@since 2.7.0
また、Ruby 2.7.0 では始端に nil を与えることで「始端を持たない範囲オブジェクト」
を作ることもできるようになりました(どちらも持たないものも作れます)。
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

「どちらも持たないもの」を作るには、少なくとも始端/終端のどちらかに明示的にnilを与えないと作れないことを明記するのはどうでしょうか?

p(..) # Syntax Error
p(...) # 2.7で導入されたメソッド引数のforwardとして解釈されてしまう
p(..nil) # ok
p(nil..) # ok
p(nil..nil) # ok

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

これ,実は迷った末に敢えて入れていなかったのですが,これらも入れて再修正しました。
加筆・修正をさらに進めています。

Copy link
Member

@pocke pocke left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM 👍
masterでCIがコケ続けると良くないので、 #2193 が解決したらマージします。

@pocke pocke merged commit 15c6d6f into rurema:master Mar 4, 2020
@scivola scivola deleted the improve-Range-summary branch March 4, 2020 03:32
@ghost
Copy link

ghost commented Mar 4, 2020

あまり分かっていないですが Array#&(other)が現状見れなくなっているのは、 このPRが影響しているんでしょうか?

@scivola
Copy link
Contributor Author

scivola commented Mar 4, 2020

いまリンクを踏んでみましたが,ふつうに表示されました。

@ghost
Copy link

ghost commented Mar 4, 2020

では私の環境問題ですね。お手数おかけしました 🙏

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants