やったこと 退職した 3月末日を持って永和システムマネジメントを退職した。大変お世話になりました。 Relineのレビュー ぺんさんがやってくれたRelineのline_editorのレンダリングまわりの大規模リファクタリングのレビューをしていた。2〜3週間くらいかかった気がする。 github.com line_editorの仕組みをほとんどわかっていなかったので、こんな感じでコードリーディングをした debug.gemで文字入力から文字が表示されるところまでどんなメソッドに何がわたってくるのか追いかける わかったところ、わからないところをPRのdiffにコメントしてまとめていく メソッド単位でChatGPTに入力して解説してもらう わからないところを随時ぺんさんに質問する わからないところをピンポイントでデバッグしたりまとめたりする レビューコメントを英語に書き直して、自分用のまとめは
Ruby 3.3にはRubyのREPLであるIRB v1.11.0が同梱されました。新しいIRBでは補完機能やdebug.gemとの連携が強化されました。 この記事では、型補完の追加、補完ダイアログの色変更API、デバッグに便利な機能、その他便利な機能追加について紹介します。 なお、IRBはDefault gemsのため、Ruby 3.3.0以外のバージョン[1]でもgem update irbやbundle add irbでインストールすることで最新のIRBを利用できます。 動作確認環境 記事内容はRuby 3.3.0、IRB v1.11.1、Reline v0.4.1、repl_type_completor v0.1.2で動作確認しています。 IRBの補完機能の強化 IRBでは、型による補完機能の強化、補完ダイアログの色変更APIの追加が行われました。 型補完の導入 今までは正規表現を
IRBの最新の自動補完機能を誰よりも使ってるぺん(@tompng)です。 IRBの補完についてGoogleで検索すると disable turn off などと書かれた記事ばかりが出てくるのですが、今のIRBは自動補完の問題点がかなり解消しています。 無効化設定している人はいますぐ ~/.irbrc を開いて IRB.conf[:USE_AUTOCOMPLETE] = false と書かれている行を消しましょう。 自動補完の問題点とどう解消されたか 補完ダイアログが大きくて邪魔・入力行が上にずれる ターミナルの高さとカーソルの位置に応じて、補完ダイアログの表示サイズを調整するようになりました。 https://github.com/ruby/reline/pull/542 色が見づらい 見た目をカスタマイズするAPI Reline::Face が導入されました。(ドキュメント) https
概要 原著者の依頼を受けて翻訳・公開いたします。 英語記事: Unveiling the big leap in Ruby 3.3’s IRB | Rails at Scale 原文公開日: 2023/12/25 原著者: Stan Lo -- ruby/irb、ruby/reline、ruby/tracerのメンテナーです CC BY-NC-SA 4.0 Deed | 表示 - 非営利 - 継承 4.0 国際 | Creative Commons 本記事では、Ruby 3.3でIRBに導入された主な機能強化と、現時点で来年に導入が予定されている機能について詳しく解説いたします。 Ruby 3.3のIRB強化の要点: デバッグ機能強化 オートコンプリートの使用感を強化 全体的な使用感を改善 耳より情報: Ruby 2.7以降のプロジェクトであれば、Gemfileにgem "irb"を追加す
IRB 1.9.0から tompng さんの実装によりIRBでは型補完が使えるようになりました。katakata_irb の機能がIRB本体に入った形です。 今までは正規表現での補完だったため精度があまり良くなかったのですが、型のパワーを得てより速く精度の良い補完になりました。 今のところデフォルトでは正規表現補完を利用するため、型補完を利用するには設定が必要です。 github.com 依存関係 Ruby 3.0.0 以上、RBS、prism が必要です。 prism がない場合メッセージが出て、正規表現補完にフォールバックします。 型補完を有効にする方法 .irbrc で設定 IRB.conf[:COMPLETOR] = :type 環境変数で設定 ※IRB 1.9.1 以降で有効 IRB_COMPLETOR=type Railsでは例えば development.rb でこんな感じで
こんにちは、@tk0miya です。RubyKaigi 2023、楽しかったですね。 今回は RubyKaigi 2023 で最も感銘を受けた gem である、katakata_irb を導入してみたので、レポートしてみたいと思います。 katakata_irb とは? これまでも irb には入力補完機能がありましたが、サジェストされるメソッドが不完全であったり、メソッドチェーンの呼び出しで補完が動かないといった問題がありました。 katakata_irb gem は Ruby の型定義情報を使って irb の補完機能を強化するための gem です。 RubyKaigi 2023 の Power up your REPL life with types – RubyKaigi 2023 というセッションで紹介されました。 katakata_irb gem はその名の通り irb を強化す
カタカタッ ターンッ! RubyのIRBめっちゃ便利ですよね。 IRBは補完機能もすごく便利なんですが、ちょっと気になるところもあります。 メソッドチェーンすると正しく補完できずありとあらゆるメソッド名が候補に出てしまう 正規表現で実装されてるので時々誤作動を起こす array[i]. %s[symbol]. 配列のメソッドが候補に出る array.map{}. %w{words}. HashとProcのメソッドが候補に出る なので、型情報(RBS)とかも使ってもうちょっといい補完候補を出せないかなと 、gem katakata_irb を試しに作っています。 gemをインストールするとkirbコマンドが使えるようになります。 変えました。使い方: require 'katakata_irb' メソッドチェーンしてても、ブロック引数・変数などを使ってても、ある程度正しく型を推測して補完候補
概要 元サイトの許諾を得て翻訳・公開いたします。 英語記事: What's new in Ruby 3.2's IRB? 原文公開日: 2022/12/14 原著者: Stan Lo -- ShopifyのRuby Developer Experience Team所属、ruby/debugのメンテナーの一員であり、先ごろIRBのメンテナーの一員にもなりました🎉 IRB 1.6がリリースされ、Ruby 3.2の組み込みIRBにはこのバージョンが使われる予定です(訳注: IRBの現時点の最新バージョンは1.6.2です)。 今回のリリースも含め、最近のIRBには@k0kubunと私が行った多くの拡張が含まれているので、本記事でそれらをまとめてご紹介したいと思います。 新しいコマンド 最近のリリースでは以下のような多くの新しいコマンドをIRBに追加しました。 show_cmds show_do
これはRuby Advent Calendar 2022、24日目の記事です。 きのうの記事は@kozo2さんの「RubyでQuartoを活用する」でした。 @kateinoigakukunさんが実装したruby.wasmは、あした(今夜?)リリースされるはずのRuby 3.2における目玉フィーチャのひとつです。 ことしのRubyアドベントカレンダーにもwasmの話題がいくつかありますね。 この記事では、irb.wasmの入力メソッドをRelineへとアップグレードしたことについて書きます。 この記事の公開時点では、下記のURLにて利用できます。将来Reline版がデフォルトに格上げされたら、URLは変更されると思います: 旧来のSTDOUT版irb.wasm→ https://irb-wasm.vercel.app/ 新しいReline版irb.wasm→ https://irb-was
プログラミング言語Rubyの国内最大級のカンファレンス「RubyKaigi」。「RubyKaigi 2022」のKeynoteで登壇したのは、齋藤優太氏。「Ruby meets WebAssembly」のテーマで、WebAssembly上でRubyが動くようになった経緯、テクニック、ユースケースについて発表しました。全2回。前半は、なぜWebAssembly対応をするのか、そのモチベーションと経緯について。 登壇者の自己紹介とアジェンダ紹介 齋藤優太氏(以下、齋藤):いやぁ~、緊張しますね(笑)。みなさんおはようございます。 会場:おはようございます。 齋藤:「Ruby meets WebAssembly」ということで、今日は最近少し話題になっているRubyとWebAssemblyの話をしようと思います。よろしくお願いします。 (会場拍手) RubyがWebAssembly上で動くようにな
要は以下の記事の繰り返しなのだが。 k0kubun.hatenablog.com Kaigi on Rails _2022_ new というイベントの LT で、メソッド定義を探ろうという話があった。 speakerdeck.com Rails のソースをシュッと眺めに行くという、非常に尊い良い発表でした。 Object のことは Object に聞け、は Ruby の非常に面白いところなので、Method を取り出して source_location を尋ねるのは一度体験して感動して欲しいんだけど、実務だとタイプ数の少ないやり方も知っておくと更に便利に使えるのでご紹介。 irb の show_source も武器に加えてあげたい #kaigionrails— Takafumi ONAKA (@onk) October 9, 2022 Pry の $ https://github.com/
DockerでIRBやPryを利用するときにも入力したコードの履歴を記憶するよう設定する機会があったので、あらためて整理しておく。 大まかな作戦としては、/usr/local/history という適当に考えたパスにDockerのデータボリュームをマウントし、更に適当に考えた次のファイルパスに履歴を書き込ませる作戦でいく。 /usr/local/history/.irb_history /usr/local/history/.pry_history IRBはデフォルトでは ~/.irb_history に履歴を書き込む。 デフォルトで、実行結果の履歴1000件が ~/.irb_history に保存されます。 https://docs.ruby-lang.org/ja/latest/library/irb.html IRBは起動時にカレントディレクトリの .irbrc というファイルを実行
同記事より 修正結果: Change TrueType subsetter to avoid generating characters that need to… · gettalong/hexapdf@cdb8723 「Rubyコードが遅い原因を突き止めて解決するまでの泥臭くてつらい作業をまとめた、いい記事だと思います👍」「こういう作業をやれる人がチームにいるかどうかで、チームの限界性能が変わってきますよね」「たしかに」 「この記事ではHexaPDFの文字glyphを処理する周辺の効率化を行っているみたい」「つくづく、プログラマーはいろんなことを知らないといけないんだなと改めて思いますね」「PDFの仕様を以前読んだことありますけど、あれはホントわからない」「ホントに😆」 参考: TrueType - Wikipedia 参考: PDFテクノロジーセンター | Adobe PDFテク
readlineが読み込めてないのが原因。 解決方法 readlineを指定してinstall。 macportsで入れた場合は下記でOK。 rvm install 1.9.2 -C --with-readline-dir=/opt/local/ 最近、homebrew入れたので readlineの場所が/usr/local なんだろうなと思い rvm install 1.9.2 -C --with-readline-dir=/usr/local/でやってみるがNG。 Accented chars in IRB with RVM and ruby 1.8.7 | Plataforma Tecnologia Blogにも書かれてる。 調べてみると、rvmでその辺のモジュールをパッケージとして管理しているらしい。 RVM: Ruby Version Manager - 'rvm package
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く