Rubyの!メソッドをちゃんと理解する
by
Yuto Urushima
×
Copy
Open
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Slide 1
Slide 1 text
Rubyの!メソッドをちゃんと理解する Yuto Urushima (@alstrocrack)
Slide 2
Slide 2 text
Backend Engineer from Hubble 大学時代の専攻: 建築学 自己紹介 漆島 裕人 @alstrocrack
Slide 3
Slide 3 text
def xxx! https://docs.ruby-lang.org/ja/latest/doc/symref.html#ex
Slide 4
Slide 4 text
自分の!メソッドの理解(before) 明示的に例外を発生させうる find_by!, first!, create! 元の文字列を直接変更する String#upcase!, Array#sort!, Array#uniq!
Slide 5
Slide 5 text
自分が!メソッドを記述していたコード例
Slide 6
Slide 6 text
あれ?でも、そもそもいつでも例外 なんて起こりうるよね? というか、そもそもそれが「例外」 だよね?
Slide 7
Slide 7 text
Q.
Slide 8
Slide 8 text
A.
Slide 9
Slide 9 text
https://docs.ruby-lang.org/ja/latest/doc/symref.html#ex
Slide 10
Slide 10 text
Rubyの!メソッドはそのほとんどが 同名の!なしメソッドとペアで 存在している!
Slide 11
Slide 11 text
No content
Slide 12
Slide 12 text
exit vs exit! exitは例外 SystemExit を出してくれるが、 exit!は例外を出さずにプロセスを終了 → より「危険」である可能性がある
Slide 13
Slide 13 text
じゃあ「破壊的」の 定義って? メソッドのペアによって異なる! Railsではたまたま「例外を出す」 方が!メソッドである場合が多いが あくまで一例。
Slide 14
Slide 14 text
まとめ 9 !メソッド & !なしメソッドをペアで実装する際には「例外出す方」ではなく「より危険な(に思え る)方」に!をつけB 9 !メソッドは慣用的なものであり、あくまで作者の判 9 自分みたいにRuby on Railsの慣習のようなものに引っ張られすぎない
Slide 15
Slide 15 text
Hubble Hubbleは、適切な権限統制のもと、契約に関する 相談・依頼から管理まで一元化。 生成AIを活用しやすい基盤を整備し、契約情報の スムーズな管理と活用を実現します。 Backend Tech stack
Slide 16
Slide 16 text
Thank you !