From 30530c0c7e6642e8d6bd765ab415bf1c6a629566 Mon Sep 17 00:00:00 2001 From: Kouhei Yanagita Date: Thu, 19 Oct 2023 12:37:18 +0900 Subject: [PATCH 1/2] =?UTF-8?q?Object#=3D=3D=3D=20=E3=81=A8=20Object#=3D?= =?UTF-8?q?=3D=20=E3=81=AE=E9=96=A2=E4=BF=82=E3=81=AB=E3=81=A4=E3=81=84?= =?UTF-8?q?=E3=81=A6=E3=81=AE=E8=A8=98=E8=BF=B0=E3=82=92=E4=BF=AE=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- refm/api/src/_builtin/Object | 31 ++++++++++++++++--------------- 1 file changed, 16 insertions(+), 15 deletions(-) diff --git a/refm/api/src/_builtin/Object b/refm/api/src/_builtin/Object index 255cce3675..b47495ddfa 100644 --- a/refm/api/src/_builtin/Object +++ b/refm/api/src/_builtin/Object @@ -694,11 +694,11 @@ p :ruby.hash #=> 3979895509189707770 --- ===(other) -> bool -メソッド [[m:Object#==]] の別名です。 -case 式で使用されます。このメソッドは case 式での振る舞いを考慮して、 +case 式で使用される、所属性のチェックを実現するためのメソッドです。 +このメソッドは case 式での振る舞いを考慮して、 各クラスの性質に合わせて再定義すべきです。 -一般的に所属性のチェックを実現するため適宜再定義されます。 +デフォルトでは内部で [[m:Object#==]] を呼び出します。 when 節の式をレシーバーとして === を呼び出すことに注意してください。 @@ -708,19 +708,20 @@ when 節の式をレシーバーとして === を呼び出すことに注意し #@samplecode age = 12 +# (0..2).===(12), (3..6).===(12), ... が実行される result = -case age -when 0 .. 2 - "baby" -when 3 .. 6 - "little child" -when 7 .. 12 - "child" -when 13 .. 18 - "youth" -else - "adult" -end + case age + when 0 .. 2 + "baby" + when 3 .. 6 + "little child" + when 7 .. 12 + "child" + when 13 .. 18 + "youth" + else + "adult" + end puts result #=> "child" From f83eb60f86946aef70e3e686de012920efdc51a6 Mon Sep 17 00:00:00 2001 From: Kouhei Yanagita Date: Wed, 25 Oct 2023 18:08:19 +0900 Subject: [PATCH 2/2] =?UTF-8?q?Object#=3D=3D=3D=20=E3=81=A7=E3=80=8C?= =?UTF-8?q?=E6=89=80=E5=B1=9E=E6=80=A7=E3=80=8D=E3=81=A8=E3=81=84=E3=81=86?= =?UTF-8?q?=E8=A8=80=E8=91=89=E3=82=92=E4=BD=BF=E3=82=8F=E3=81=AA=E3=81=84?= =?UTF-8?q?=E3=82=88=E3=81=86=E3=81=AB=E3=81=97=E3=81=9F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 英語版のドキュメントでは case equality という表現しかされていないので、 日本語においても特別な意味付けは避けることにした --- refm/api/src/_builtin/Object | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/refm/api/src/_builtin/Object b/refm/api/src/_builtin/Object index b47495ddfa..0285698b9f 100644 --- a/refm/api/src/_builtin/Object +++ b/refm/api/src/_builtin/Object @@ -694,7 +694,8 @@ p :ruby.hash #=> 3979895509189707770 --- ===(other) -> bool -case 式で使用される、所属性のチェックを実現するためのメソッドです。 +case 式で使用されるメソッドです。[[ref:d:spec/control#case]] も参照してください。 + このメソッドは case 式での振る舞いを考慮して、 各クラスの性質に合わせて再定義すべきです。