{"provider_url":"https://hatena.blog","image_url":null,"url":"https://blog.ingage.jp/entry/2025/05/23/165036","provider_name":"Hatena Blog","categories":[],"type":"rich","blog_title":"\u30a4\u30f3\u30b2\u30fc\u30b8\u958b\u767a\u8005\u30d6\u30ed\u30b0","description":"\u3053\u3093\u306b\u3061\u306f kk8511 \u3067\u3059\u3002 \u6700\u8fd1\u3075\u3068RuboCop\u306b\u8208\u5473\u304c\u51fa\u305f\u306e\u3067Cop\u306e\u5b9f\u88c5\u65b9\u6cd5\u3092\u8abf\u3079\u3066\u3044\u307e\u3057\u305f\u3002 Development :: RuboCop Docs Ast \u3092\u773a\u3081\u305f\u3060\u3051\u3067\u529b\u5c3d\u304d\u307e\u3057\u305f\u304c\u5099\u5fd8\u9332\u3068\u3057\u3066\u8a18\u8f09\u3057\u307e\u3059\u3002 AST RuboCop \u3067\u306f Abstract Syntax Tree (AST) \u304c\u5229\u7528\u3055\u308c\u308b\u306e\u3067\u3001\u307e\u305aruby-parse\u30b3\u30de\u30f3\u30c9\u3067\u30b5\u30af\u30c3\u3068 AST \u3092\u78ba\u8a8d\u3057\u3066\u307f\u307e\u3057\u305f\u3002 \u5024 \u5024\u306b\u306f\u578b\u304c\u3064\u304f\u3002 % ruby-parse -e '1' (int 1) % ruby-parse -e '\"hello\"' (str \"hello\") % ruby-parse -e '[1,\u2026","title":"RuboCop \u306b\u8208\u5473\u304c\u51fa\u305f\u306e\u3067 Ast \u3092\u773a\u3081\u3066\u307f\u305f","width":"100%","author_url":"https://blog.hatena.ne.jp/kk8511/","published":"2025-05-23 16:50:36","author_name":"kk8511","html":"<iframe src=\"https://hatenablog-parts.com/embed?url=https%3A%2F%2Fblog.ingage.jp%2Fentry%2F2025%2F05%2F23%2F165036\" title=\"RuboCop \u306b\u8208\u5473\u304c\u51fa\u305f\u306e\u3067 Ast \u3092\u773a\u3081\u3066\u307f\u305f - \u30a4\u30f3\u30b2\u30fc\u30b8\u958b\u767a\u8005\u30d6\u30ed\u30b0\" class=\"embed-card embed-blogcard\" scrolling=\"no\" frameborder=\"0\" style=\"display: block; width: 100%; height: 190px; max-width: 500px; margin: 10px 0px;\"></iframe>","version":"1.0","blog_url":"https://blog.ingage.jp/","height":"190"}