https://redmine.ruby-lang.org/
https://redmine.ruby-lang.org/favicon.ico?1711330511
2009-11-03T22:23:12Z
Ruby Issue Tracking System
Ruby master - Feature #2323: "Z".."Z".succが空
https://redmine.ruby-lang.org/issues/2323?journal_id=6647
2009-11-03T22:23:12Z
hasari (Hiro Asari)
asari.ruby@gmail.com
<ul></ul><p>=begin<br>
浅里です。</p>
<p>2009/11/2 Nobuyoshi Nakada <a href="mailto:nobu@ruby-lang.org" class="email">nobu@ruby-lang.org</a>:</p>
<blockquote>
<p>なかだです。</p>
<p>At Mon, 2 Nov 2009 16:19:40 +0900,<br>
Hiro Asari wrote in <a href="/issues/2323">[ruby-dev:39604]</a>:</p>
<blockquote>
<p>surfboard:~$ ruby1.9 -v; ruby1.9 -e 'p ("Z".."Z".succ); p ("Z".."Z".succ).to_a'<br>
ruby 1.9.2dev (2009-11-02 trunk 25625) [x86_64-darwin10.0.0]<br>
"Z".."AA"<br>
[]</p>
</blockquote>
<p>こんなところでしょうか。</p>
</blockquote>
<p>このパッチで件の問題は解決されていますが、ちょっと別なところで問題になるかもしれません。</p>
<p>このパッチを当ててみたところ、"Z".."a"は空です。1.8では["Z"]が返ってきます。</p>
<p>更に、<br>
<a href="http://redmine.ruby-lang.org/issues/show/1891%E3%81%AB%E3%81%82%E3%82%8B%E3%82%88%E3%81%86%E3%81%AB%E3%80%81" class="external">http://redmine.ruby-lang.org/issues/show/1891にあるように、</a><br>
パッチ無しでは["Z", "[", "\", "]", "^", "_", "`", "a"]です。<br>
これに対応したリビジョン(r24573)では加えて:Z..:aが認められていて、<br>
それにはアスキー配列に則ったシンボルが含まれています。</p>
<p>個人的には"Z".succが"AA"であるならば、二つ以上の要素を持つ"Z"から始まるRangeは"AA"を含むべきだと考えます。<br>
Rangeを半順序集合に定義するのも可能とは思いますが、特別な動きをする事があるのならば、<br>
それは明確に書かれていないと混乱を招くと思います。</p>
<p>参考までに指摘しておきます。</p>
<p>--<br>
Hirotsugu Asari</p>
<p>=end</p>
Ruby master - Feature #2323: "Z".."Z".succが空
https://redmine.ruby-lang.org/issues/2323?journal_id=6656
2009-11-04T00:35:57Z
matz (Yukihiro Matsumoto)
matz@ruby.or.jp
<ul></ul><p>=begin<br>
まつもと ゆきひろです</p>
<p>In message "Re: <a href="https://blade.ruby-lang.org/ruby-dev/39622">[ruby-dev:39622]</a> Re: [Bug <a class="issue tracker-2 status-5 priority-4 priority-default closed" title="Feature: "Z".."Z".succが空 (Closed)" href="https://redmine.ruby-lang.org/issues/2323">#2323</a>] "Z".."Z".succが空"<br>
on Tue, 3 Nov 2009 22:22:58 +0900, Hiro Asari <a href="mailto:asari.ruby@gmail.com" class="email">asari.ruby@gmail.com</a> writes:</p>
<p>|個人的には"Z".succが"AA"であるならば、二つ以上の要素を持つ"Z"から始まるRangeは"AA"を含むべきだと考えます。<br>
|Rangeを半順序集合に定義するのも可能とは思いますが、特別な動きをする事があるのならば、<br>
|それは明確に書かれていないと混乱を招くと思います。</p>
<p>文字列のRangeについては、</p>
<ul>
<li>文字列の順序の定義が複数ある(辞書順とsuccによるもの)</li>
<li>Rangeはsuccを使うが、これは半順序集合でいろいろ面倒</li>
</ul>
<p>という事情があります。で、現在、ちょっと中途半端な状態になっ<br>
てます。最終的な仕様を検討する時間(とやる気)が取れなくて。</p>
<p>現状</p>
<ul>
<li>両端ともすべてASCII数字である場合には、数的な順序</li>
<li>両端ともASCII1文字である場合には、ASCII文字コード的な順序</li>
</ul>
<p>になってます。で、このいずれにもあてはまらないケースの仕様は<br>
正直確定してません。苦労してもあんまり使われなさそうだし。<br>
ただ、</p>
<ul>
<li>両端が共通の先頭部分を持ち、非共通部分がすべてASCII数字で<br>
ある場合には数的な順序</li>
</ul>
<p>というのは採用しようと思ってます。あとは、ある文字列から別の<br>
文字列にsuccの連鎖で到達できるかどうか簡易に判定できるのであ<br>
れば、それに従って順序を処理すると良いと思うのですけど、でき<br>
るんだっけか。</p>
<pre><code> まつもと ゆきひろ /:|)
</code></pre>
<p>=end</p>
Ruby master - Feature #2323: "Z".."Z".succが空
https://redmine.ruby-lang.org/issues/2323?journal_id=6659
2009-11-04T03:29:04Z
naruse (Yui NARUSE)
naruse@airemix.jp
<ul></ul><p>=begin<br>
成瀬です。</p>
<p>Yukihiro Matsumoto wrote:</p>
<blockquote>
<p>まつもと ゆきひろです</p>
<p>In message "Re: <a href="https://blade.ruby-lang.org/ruby-dev/39622">[ruby-dev:39622]</a> Re: [Bug <a class="issue tracker-2 status-5 priority-4 priority-default closed" title="Feature: "Z".."Z".succが空 (Closed)" href="https://redmine.ruby-lang.org/issues/2323">#2323</a>] "Z".."Z".succが空"<br>
on Tue, 3 Nov 2009 22:22:58 +0900, Hiro Asari <a href="mailto:asari.ruby@gmail.com" class="email">asari.ruby@gmail.com</a> writes:</p>
<p>|個人的には"Z".succが"AA"であるならば、二つ以上の要素を持つ"Z"から始まるRangeは"AA"を含むべきだと考えます。<br>
|Rangeを半順序集合に定義するのも可能とは思いますが、特別な動きをする事があるのならば、<br>
|それは明確に書かれていないと混乱を招くと思います。</p>
<p>文字列のRangeについては、</p>
<ul>
<li>文字列の順序の定義が複数ある(辞書順とsuccによるもの)</li>
<li>Rangeはsuccを使うが、これは半順序集合でいろいろ面倒</li>
</ul>
<p>という事情があります。で、現在、ちょっと中途半端な状態になっ<br>
てます。最終的な仕様を検討する時間(とやる気)が取れなくて。</p>
<p>現状</p>
<ul>
<li>両端ともすべてASCII数字である場合には、数的な順序</li>
<li>両端ともASCII1文字である場合には、ASCII文字コード的な順序</li>
</ul>
<p>になってます。で、このいずれにもあてはまらないケースの仕様は<br>
正直確定してません。苦労してもあんまり使われなさそうだし。</p>
</blockquote>
<p>念のため補足しておきますと、<br>
Range#each のマニュアルには succ を用いると書いてありますが、<br>
String や Symbol の場合は実際には upto を呼んでおり、<br>
String#upto は常には String#succ を呼んでいません。<br>
上記のまつもとさんの説明は String#upto の説明になります。</p>
<p>言い換えると、Range#to_a から Range#eachが呼ばれ、<br>
range_each 経由で String#upto に行っているので、<br>
この問題は以下のように書き換えることが出来ます。</p>
<p>% ruby19 -ve'"Z".upto("AA"){|x|p x}'<br>
ruby 1.9.2dev (2009-11-02 trunk 25632) [x86_64-freebsd8.0]</p>
<blockquote>
<p>あとは、ある文字列から別の<br>
文字列にsuccの連鎖で到達できるかどうか簡易に判定できるのであ<br>
れば、それに従って順序を処理すると良いと思うのですけど、でき<br>
るんだっけか。</p>
</blockquote>
<p>ちょっと簡易とは言いづらい気がします。<br>
先の中田さんのパッチだと "0 0" から到達できない "0 00" に対して、<br>
upto が微妙に動いたりしています。<br>
"0 0".upto("0 00"){|x|p x}</p>
<p>英数の間に非英数がはさまったり、非英数が繰り上がって英数に突入するケースは<br>
なかなか難しいように思います。<br>
一度きっちり考えて文書化しさえすれば、あとは実装するだけではありますが。</p>
<p>代替案として、常に succ を使うようにして、なんとなく動くようにしつつ、<br>
とりあえず確実に停止するようにするという方法もありますかね。<br>
中田さんのパッチはそのような趣旨であるようにみえます。</p>
<p>--<br>
NARUSE, Yui <a href="mailto:naruse@airemix.jp" class="email">naruse@airemix.jp</a></p>
<p>=end</p>
Ruby master - Feature #2323: "Z".."Z".succが空
https://redmine.ruby-lang.org/issues/2323?journal_id=7293
2009-12-14T12:07:44Z
naruse (Yui NARUSE)
naruse@airemix.jp
<ul><li><strong>Category</strong> set to <i>core</i></li><li><strong>Status</strong> changed from <i>Open</i> to <i>Assigned</i></li><li><strong>Assignee</strong> set to <i>matz (Yukihiro Matsumoto)</i></li><li><strong>Priority</strong> changed from <i>Normal</i> to <i>3</i></li></ul><p>=begin<br>
Ruby 1.9 Feature に移動した上で、優先度 Low にしておきます<br>
=end</p>
Ruby master - Feature #2323: "Z".."Z".succが空
https://redmine.ruby-lang.org/issues/2323?journal_id=9115
2010-03-19T20:56:45Z
mame (Yusuke Endoh)
mame@ruby-lang.org
<ul><li><strong>Target version</strong> set to <i>1.9.2</i></li></ul><p>=begin</p>
<p>=end</p>
Ruby master - Feature #2323: "Z".."Z".succが空
https://redmine.ruby-lang.org/issues/2323?journal_id=9847
2010-04-04T01:25:48Z
znz (Kazuhiro NISHIYAMA)
<ul><li><strong>Target version</strong> changed from <i>1.9.2</i> to <i>2.0.0</i></li></ul><p>=begin</p>
<p>=end</p>
Ruby master - Feature #2323: "Z".."Z".succが空
https://redmine.ruby-lang.org/issues/2323?journal_id=23608
2012-02-08T05:43:20Z
kosaki (Motohiro KOSAKI)
kosaki.motohiro@gmail.com
<ul></ul><p>これは勝手には閉じられないなあ。どこかで集中して議論するタイミングが必要かも</p>
Ruby master - Feature #2323: "Z".."Z".succが空
https://redmine.ruby-lang.org/issues/2323?journal_id=31513
2012-10-25T17:37:22Z
yhara (Yutaka HARA)
<ul><li><strong>Target version</strong> changed from <i>2.0.0</i> to <i>2.6</i></li></ul>
Ruby master - Feature #2323: "Z".."Z".succが空
https://redmine.ruby-lang.org/issues/2323?journal_id=67496
2017-10-22T01:53:46Z
mame (Yusuke Endoh)
mame@ruby-lang.org
<ul></ul><p>これはもう今の挙動ありのままで仕様と考えるほかないのではないかと思いますが、どうでしょうね。<br>
次回の開発者会議ネタリストに入れておきました。</p>
Ruby master - Feature #2323: "Z".."Z".succが空
https://redmine.ruby-lang.org/issues/2323?journal_id=68016
2017-11-29T07:41:57Z
matz (Yukihiro Matsumoto)
matz@ruby.or.jp
<ul></ul><p>もうちょっと放置。</p>
<p>Matz.</p>
Ruby master - Feature #2323: "Z".."Z".succが空
https://redmine.ruby-lang.org/issues/2323?journal_id=68020
2017-11-29T08:04:35Z
mame (Yusuke Endoh)
mame@ruby-lang.org
<ul></ul><pre><code>現状
両端ともすべてASCII数字である場合には、数的な順序
両端ともASCII1文字である場合には、ASCII文字コード的な順序
になってます。で、このいずれにもあてはまらないケースの仕様は
正直確定してません。苦労してもあんまり使われなさそうだし。
ただ、
両端が共通の先頭部分を持ち、非共通部分がすべてASCII数字で ある場合には数的な順序
というのは採用しようと思ってます。あとは、ある文字列から別の
文字列にsuccの連鎖で到達できるかどうか簡易に判定できるのであ
れば、それに従って順序を処理すると良いと思うのですけど、でき
るんだっけか。
</code></pre>
<p>というあたりをパッチとか作って検討進める人が出てくるその日まで放置。</p>
Ruby master - Feature #2323: "Z".."Z".succが空
https://redmine.ruby-lang.org/issues/2323?journal_id=68646
2017-12-25T17:57:41Z
naruse (Yui NARUSE)
naruse@airemix.jp
<ul><li><strong>Target version</strong> deleted (<del><i>2.6</i></del>)</li></ul>
Ruby master - Feature #2323: "Z".."Z".succが空
https://redmine.ruby-lang.org/issues/2323?journal_id=89185
2020-12-12T04:16:11Z
mame (Yusuke Endoh)
mame@ruby-lang.org
<ul><li><strong>Has duplicate</strong> <i><a class="issue tracker-1 status-5 priority-4 priority-default closed" href="/issues/13663">Bug #13663</a>: `String#upto` doesn't work as expected</i> added</li></ul>
Ruby master - Feature #2323: "Z".."Z".succが空
https://redmine.ruby-lang.org/issues/2323?journal_id=89188
2020-12-12T04:17:56Z
mame (Yusuke Endoh)
mame@ruby-lang.org
<ul><li><strong>Status</strong> changed from <i>Assigned</i> to <i>Closed</i></li></ul><p><a class="issue tracker-1 status-5 priority-4 priority-default closed" title="Bug: `String#upto` doesn't work as expected (Closed)" href="https://redmine.ruby-lang.org/issues/13663">#13663</a> でほぼ同様のチケットが close されたのでこちらも閉じます。</p>