- クラス名・変数名に迷ったら書き込むスレ。Part26 [無断転載禁止]©2ch.net
658 :デフォルトの名無しさん[sage]:2016/09/21(水) 00:28:08.62 ID:43fglGIp - >>655
「BarはFooである」に偽が返ったら否定しているって分かるでしょ IF文が判断をするのであって、その条件式に入れるオブジェクトが判断しないの 例え話の君の部分がIF文、条件式に入るオブジェクトがペンなの 君はペンであるかどうかをIF文でペンの状態を見ながら判断するけど ペンに「君はペンですか?」って尋ねながら判断しないでしょ だから if x is pen then Yes, otherwise No. が成り立つの、メソッド名は疑問文にならないの
|
- クラス名・変数名に迷ったら書き込むスレ。Part26 [無断転載禁止]©2ch.net
660 :デフォルトの名無しさん[sage]:2016/09/21(水) 00:36:41.32 ID:43fglGIp - >>657
いい加減、なの言葉が嫌になってきた 論理学の勉強をしてくれ
|
- クラス名・変数名に迷ったら書き込むスレ。Part26 [無断転載禁止]©2ch.net
664 :デフォルトの名無しさん[sage]:2016/09/21(水) 00:57:48.41 ID:43fglGIp - >>661
メソッド名を関係演算子に置き換えてみな これもブール値を返す (x > y) → Bool >演算子はxとyの関係を表す x is greater than y 何故、「関係」演算子って呼ばれているか? その関係の状態を(断定して)表し、その真偽を得る演算子だから 決して疑問文ではない 真偽を表すメソッドなら命名に例外はありえない
|
- クラス名・変数名に迷ったら書き込むスレ。Part26 [無断転載禁止]©2ch.net
668 :デフォルトの名無しさん[sage]:2016/09/21(水) 01:08:54.68 ID:43fglGIp - >>663
ペンにはインクの残量がある ペンが書けるかどうか判断する時、残量を見るだろ Max100の内、残量が20だとしたら、そのペンは書けると判断出来る でも、残量が30を切ったらインクを補充したい その判断をIF文で書いてみ それらの条件式は断定した形になり、その真偽を問うことになる 決してペンがそれらを判断しない インクの残量が20を切ったら補充したいなんてペンは知らないのだから
|
- クラス名・変数名に迷ったら書き込むスレ。Part26 [無断転載禁止]©2ch.net
671 :デフォルトの名無しさん[sage]:2016/09/21(水) 01:14:16.97 ID:43fglGIp - >>667
ブール値
|
- クラス名・変数名に迷ったら書き込むスレ。Part26 [無断転載禁止]©2ch.net
674 :デフォルトの名無しさん[sage]:2016/09/21(水) 01:18:35.19 ID:43fglGIp - >>672
xはyより大きいと断定した場合の真偽値
|
- クラス名・変数名に迷ったら書き込むスレ。Part26 [無断転載禁止]©2ch.net
675 :デフォルトの名無しさん[sage]:2016/09/21(水) 01:42:16.86 ID:43fglGIp - >>672
ちゃんと答えたのに終わり?
|
- クラス名・変数名に迷ったら書き込むスレ。Part26 [無断転載禁止]©2ch.net
687 :デフォルトの名無しさん[sage]:2016/09/21(水) 14:50:24.12 ID:43fglGIp - >>682
単純にブール値を返すメソッドの解釈の話 どちらの主張も命名としては、x.isFoo() → boolで同じ 一方は、これは疑問文であり、戻り値のbool型には疑問文の答えの意味が含有する もう一方は、xを断定した場合に、その断定に対する真偽を返すだけであり IF文やWihle文などの条件式に利用された際に、その結果の意味が含有される 前者は、x.isFoo()この時点で「xはFooですか?」とオブジェクトxに問いかけるとし その結果のブール値が、yes/noの意味があるって解釈 つまり、オブジェクト自体が判断して答える 後者は、x.isFoo()は「xはFooである」と断定したと解釈し、bool値はその断定の真偽の意味しかない If x is Foo then Yes else No.のように条件式に当てはめて初めてその結果に意味が生まれる あくまでオブジェクトxの状態を見て、その判断をxの外側でする そもそもbool値を返すメソッドやプロパティは、If文やWhile文の条件式に利用される 条件式とは条件を指定するために使用される論理式であり、断定した文じゃなきゃおかしい その条件を満たすかどうかの真偽が返るだけなのよ 自分は後者の考え
|
- クラス名・変数名に迷ったら書き込むスレ。Part26 [無断転載禁止]©2ch.net
693 :デフォルトの名無しさん[sage]:2016/09/21(水) 16:18:45.60 ID:43fglGIp - >>692
うん、いいね、少しずつ近づいてきている x.isPrimeNumber()は「xが素数である」と、その状態を見ている 状態はCondition、IF文の条件式もCondition >また、if自身はconditionの中身なんて知らない。 当たり前、だからx.isPrimeNumber()と断定してその真偽を得ている >「君=if」なら、ifはペンが問題になっているなんて知らない。 そうだよ、だから条件式は真偽でしかない ペンが返したyes/no、言い換えるならI'm Pen/ I'm not Penなんて分からない
|
- クラス名・変数名に迷ったら書き込むスレ。Part26 [無断転載禁止]©2ch.net
705 :デフォルトの名無しさん[sage]:2016/09/21(水) 17:34:15.26 ID:43fglGIp - >>701
じゃあさ、Penにインク残量amountがあったとするよね インク残量が0の時、ペンは書けないからペンと見なさないとした場合 君はそれがペンであるかを判断するIF文で残量を使ってどう書く? 勿論、x.isPen()メソッドは存在しない if x.amount > 0 then yes, x is a pen else no, x is not a pen. って書くでしょ ペンのインク残量、ペンのペンたる状態を判断するよね インク残量以外にペンである事の条件が増えた場合 それらを使ってIF文で判断するのは面倒臭いよね だからペンである状態を表すx.isPen()メソッドが用意される オブジェクトxはまだPenとして機能しているかの真偽を表す true/falseとyes/noは同じ二者択一だけど、全く意味が違う
|
- クラス名・変数名に迷ったら書き込むスレ。Part26 [無断転載禁止]©2ch.net
708 :デフォルトの名無しさん[sage]:2016/09/21(水) 17:47:23.92 ID:43fglGIp - >>706
了解 人に説明するのって自分の頭の中が整理されるから楽しいな 論理思考なんて全く得意じゃないがスッキリした
|
- クラス名・変数名に迷ったら書き込むスレ。Part26 [無断転載禁止]©2ch.net
714 :デフォルトの名無しさん[sage]:2016/09/21(水) 18:54:59.09 ID:43fglGIp - >>713
墓穴掘っているから最後に指摘しておくわ MyUtility.IsPrimveNumber(3) もしこれが疑問文なら絶えずNOを返す Is Prime Numer 3? って意味だから 素数は3ではない 素数は3でもあるし、他の数値でもあるって答えだから 手続き型言語やStaticメソッドの場合 'X' is PrimeNumber(X)と見なしているの、それを命名規則としているの
|
- クラス名・変数名に迷ったら書き込むスレ。Part26 [無断転載禁止]©2ch.net
718 :デフォルトの名無しさん[sage]:2016/09/21(水) 19:19:00.12 ID:43fglGIp - >>717
自分の間違いを自分で言ってんじゃんw こっちの主張は三単現使っていても一貫している x.isFoo() x.hasNext() x.contains(o) そっちは勝手にis始まりを疑問文として解釈して 三単現を妥協としているだけじゃないの 疑問文ならDoやDoesを使えば?
|