Curses

25
Curses Hamamatsu.rb #61 Langur(@osarusystem) Wed Feb 10 2016

Transcript of Curses

Curses

Hamamatsu.rb #61

Langur(@osarusystem)

Wed Feb 10 2016

About Me

CC-BY-SA 3.0 from Wikipedia

Name : LangurTwitter : @osarusystemJobs : Embedded Software Engineer

Network Software EngineerInterestedness : OS/Cipher/FreeBSD/Ruby/

Primates/Making Sweets/...etc

Curses

Curses

Curses : A terminal control libraryDeveloper : Ken ArnoldReference : viUsed : Rouge/Tin/Jack ... etcProvide : Interface on CLI like GUI

Not all based applicationsemploy like this

Support : Linux/BSD/Windows ... etc

Ruby curses

Ruby curses

def support?(version)if (version < 2.1)p “standard library”

elsep “gem library”

endend

How to use

require “curses”

Curses.init_screenbegins = “Hello World!”Curses.setpos(1, 1)Curses.addstr(s)Curses.refreshCurses.getchensureCursese.close_screenend

1. 初期化処理

2. Cursesの設定(省略可)

3. windowの操作

4. 入力待ち(省略可)

5. 終了処理

How to use

require “curses”

Curses.init_screenbegins = “Hello World!”Curses.setpos(1, 1)Curses.addstr(s)Curses.refreshCurses.getchensureCursese.close_screenend

1. 初期化処理

2. Cursesの設定(省略可)

3. windowの操作

4. 入力待ち(省略可)

5. 終了処理

How to use

require “curses”

Curses.init_screenbegins = “Hello World!”Curses.setpos(1, 1)Curses.addstr(s)Curses.refreshCurses.getchensureCursese.close_screenend

1. 初期化処理

2. Cursesの設定(省略可)

3. windowの操作

4. 入力待ち(省略可)

5. 終了処理

How to use

require “curses”

Curses.init_screenbegins = “Hello World!”Curses.setpos(1, 1)Curses.addstr(s)Curses.refreshCurses.getchensureCursese.close_screenend

1. 初期化処理

2. Cursesの設定(省略可)

3. windowの操作

4. 入力待ち(省略可)

5. 終了処理

How to use

require “curses”

Curses.init_screenbegins = “Hello World!”Curses.setpos(1, 1)Curses.addstr(s)Curses.refreshCurses.getchensureCursese.close_screenend

1. 初期化処理

2. Cursesの設定(省略可)

3. windowの操作

4. 入力待ち(省略可)

5. 終了処理

Uncool

Delete ‘Curses.’

require “curses”

Curses.init_screenbegins = “Hello World!”Curses.setpos(1, 1)Curses.addstr(s)Curses.refreshCurses.getchensureCurses.close_screenend

require “curses”include Curses

init_screenbegins = “Hello World!”setpos(1, 1)addstr(s)refreshgetchensureclose_screenend

Execute

Execute

Execute

Window

Window

stdscr

sub2

sub1

‘init_screan’ create ‘stdscr’.‘stdscr’ is root window.‘stdscr’ can create ‘sub window’.

Create sub windowbegins = “stdscr”;ss = “subwindow”setpos(10, 10);addstr(s)sub = stdscr.subwin(3, 12, 1, 1)sub.box(?|, ?-, ?+)sub.setpos(1, 1);sub.addstr(ss)sub.refreshrefreshgetchensuresub.close_screenclose_screenend

Execute

Execute

Next step

Next step

• I want to create text editor.• Help me!

• How to use Git-Hub

• Ruby’s manner

• GTK or Qt

Thank you.