Ce diaporama a bien été signalé.
Le téléchargement de votre SlideShare est en cours. ×

Making Editor written in Ruby version 20160611

Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Chargement dans…3
×

Consultez-les par la suite

1 sur 41 Publicité

Making Editor written in Ruby version 20160611

Télécharger pour lire hors ligne

Making Editor written in Ruby version 20160611
第1回 浜松IT合同勉強会のHamamatsu.rb枠での発表資料です。
作成中のRuby製テキストエディタの紹介をしました。

Making Editor written in Ruby version 20160611
第1回 浜松IT合同勉強会のHamamatsu.rb枠での発表資料です。
作成中のRuby製テキストエディタの紹介をしました。

Publicité
Publicité

Plus De Contenu Connexe

Diaporamas pour vous (20)

Similaire à Making Editor written in Ruby version 20160611 (20)

Publicité

Plus récents (20)

Making Editor written in Ruby version 20160611

  1. 1. Making Editor Hamamatsu.rb Langur(@osarusystem) Wed Jun 11 2016
  2. 2. About Me
  3. 3. CC-BY-SA 3.0 from Wikipedia Name : Langur Twitter : @osarusystem Jobs : Embedded Software Engineer Network Software Engineer Interestedness : OS/Cipher/FreeBSD/Ruby/ Primates/Making Sweets/ ...etc
  4. 4. どんなエディタを使っていますか?
  5. 5. Emacs • 利点 - 豊富なプラグイン - Lispで拡張可能 - というかLisp環境 - CUIでもGUIでも動作 - ほぼ、なんでもできる • 欠点 - 特殊なキーバインド - プリインストールされない - Lispが辛くなってきた...
  6. 6. Lispが辛くなってきた...
  7. 7. ......
  8. 8. Hamamatsu.rbに参加しているし
  9. 9. Rubyでできないかな...
  10. 10. やってみるか
  11. 11. 処理を考えてみた
  12. 12. なんかできそうじゃない?
  13. 13. やってみた
  14. 14. editor.rb require ”./ipl” init loop { ch = $main_buffer.getch editorHandler_exec(ch) } 1. 別ファイルの読込み 2. 初期化 3. 無限ループ 4. 1文字入力する 5. 対応する処理をする 6. 3.に戻る
  15. 15. フローチャート通りになった!
  16. 16. ハンドラ $handler = { KEY1=>$handler1, KEY2=>EditorCommand2 } $handler1 = { KEY11=>$handler11, KEY12=>EditorCommand12 } : :
  17. 17. ハンドラ [↑]キーの場合 キー入力 <ESC> [ A 処理 $handler = $handler[<ESC>] $handler = $handler[”[”] $handler[”A”].exec $handler = $handlerRoot
  18. 18. デモ
  19. 19. 利点その1
  20. 20. 構造が単純
  21. 21. 利点その2
  22. 22. 機能拡張が容易
  23. 23. 問題点その1
  24. 24. キーコードが環境依存
  25. 25. 問題点その2
  26. 26. クラスによって取得できるキーが異なる
  27. 27. 問題点その3
  28. 28. クラスによってはキーを取りこぼす
  29. 29. 問題点その4
  30. 30. コマンドをたくさん用意する必要がある
  31. 31. 今後の課題 • エディタになるように機能追加する • コマンドの追加を自動化する • GitHubかどこかで公開できるようにする
  32. 32. Hamamatsu.rbの皆様
  33. 33. 相談に乗っていただき
  34. 34. ありがとうございます
  35. 35. 今後ともよろしくお願い致します
  36. 36. ご来場の皆様
  37. 37. ご清聴ありがとうございました

×