[過去ログ]
Ruby 初心者スレッド Part 66 (1002レス)
上
下
前
次
1-
新
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
83
:
(ワッチョイ 927c-s5Rz)
2020/01/19(日)13:11
ID:AinWVopR0(1)
AA×
外部リンク:logmi.jp
[240|
320
|
480
|
600
|
100%
|
JPG
|
べ
|
レス栞
|
レス消
]
83: (ワッチョイ 927c-s5Rz) [sage] 2020/01/19(日) 13:11:12.72 ID:AinWVopR0 いよいよRubyにも型チェックの機能が取り入れられる 型定義は別ファイルに書くようになっていて、文法は以下の感じ class Foo def foo: -> void def to_s: -> String (Integer) -> String end このようなクラス定義によく似た何かを別ファイルに用意しなければならない(面倒だね) この際、クラス名Fooやメソッド名foo,to_sなどを細心の注意を払って間違いなく正確に記述しなければならない もし間違えてしまうと型チェックが働かなくなる(だろう) そして、型チェックツールはそのことを教えてくれないだろうね 何故ならRubyは型定義が無くても動くのが前提だから、名前を間違ってても「あ、型定義無いのね」って思うだけ なんならクラス名やメソッド名を間違えていないことをチェックするテストコードを書かなければならないかもしれない そうしないと正しく型チェックが働いたことを誰も保証できないだろう? 「ソースコードのクラス名やメソッド名を変更したけど、型定義ファイルのそれらを修正し忘れる」 というのは普通にあり得るケース、というか一番ありがちなヒューマンエラーの類 絶対だれかヤラカス、容易に想像できる お気づきのかたも多いだろうが、同じことを二回書かせるから間違える これはまさに「DRYに反している」典型的事例 ところがmatzに言わせれば、ソースコード上に型を書く方が「DRYに反している」らしい 理由も意味不明 (普通に考えれば別ファイルに書く方がDRYに反している) ttps://logmi.jp/tech/articles/321280 このように口を開けば事実と反対の事ばかり言うのがmatzであり そんな人が作ったRuby自体も反対のあべこべ逆張り言語である http://mevius.5ch.net/test/read.cgi/tech/1578068134/83
いよいよにも型チェックの機能が取り入れられる 型定義は別ファイルに書くようになっていて文法は以下の感じ このようなクラス定義によく似た何かを別ファイルに用意しなければならない面倒だね この際クラス名やメソッド名などを細心の注意を払って間違いなく正確に記述しなければならない もし間違えてしまうと型チェックが働かなくなるだろう そして型チェックツールはそのことを教えてくれないだろうね 何故ならは型定義が無くても動くのが前提だから名前を間違っててもあ型定義無いのねって思うだけ なんならクラス名やメソッド名を間違えていないことをチェックするテストコードを書かなければならないかもしれない そうしないと正しく型チェックが働いたことを誰も保証できないだろう? ソースコードのクラス名やメソッド名を変更したけど型定義ファイルのそれらを修正し忘れる というのは普通にあり得るケースというか一番ありがちなヒューマンエラーの類 絶対だれかヤラカス容易に想像できる お気づきのかたも多いだろうが同じことを二回書かせるから間違える これはまさにに反している典型的事例 ところがに言わせればソースコード上に型を書く方がに反しているらしい 理由も意味不明 普通に考えれば別ファイルに書く方がに反している このように口を開けば事実と反対の事ばかり言うのがであり そんな人が作った自体も反対のあべこべ逆張り言語である
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
あと 919 レスあります
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
ぬこの手
ぬこTOP
0.051s