0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

ぼっち演算子をつかって思いがけないエラー回避する

Posted at

開発環境

ruby 2.6.5
Ruby on Rails 5.2.5

本題

スクレイピングしてきたデータを使いやすいようにする

Image from Gyazo

こんなふうに origin_shrine のデータが入っていてこのままだと chatkick で使えない

やりたいことは( の前だけを取り出したい
今回のパターンだと使いたいのは熊野三山

そのために使うのは前方参照

a = chart_shinto.origin_shrine.match(/(/).pre_match 

変数に match メソッドをつかって( を正規表現で探し当てる

そして pre_match メソッドをつかうことでその前の値を返す

実際に見てみると

Image from Gyazo

ちゃんととれてる

で、ここからが本題

このままだと ( がないときにエラーが発生する
なぜなら nil に対して pre_match メソッドを実行する形になるから

実際全てのデータを確認して( をつけるようにしたけど不安があった。

なのでぼっち演算子をつかって match の返り値が nil だったら pre_match を実行しないようにする

コードは

chart_shinto.origin_shrine.match(/(/)&.pre_match

これなら( がなくてもエラーが起きない

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?