Imitation of Ircv. English
IIrcv.app 㯠Ircv ã® Mac OS X ã«ãããå£åãã¼ã¸ã§ã³ã§ãã ãIrcãã¨ããå称ã¯å ¥ã£ã¦ãã¾ãããããæ¬ä½ã« Irc ã¯ã©ã¤ã¢ã³ãæ©è½ã¯ããã¾ããã ãããã©ããã£ã¦è¡¨ç¤ºããããã ï¼ã¨ããã¨ãIIrcv.app ã¯dRuby ãµã¼ãã¨ãã¦åãã¦ããã®ã§ã ãããéãã¦å¤é¨ã¢ããªã±ã¼ã·ã§ã³ãã表示ãè¡ãã¾ãã
åæç¶æ ã§ã¯èªå URI ã¢ã¼ãã®ãã¼ã 9876 ã listen ãã¾ãã ãã®ç¶æ ã® IIrcv.app ã¸ã®è¡¨ç¤ºè¦æ±ãè¡ã Ruby ã¹ã¯ãªããã示ãã¾ãã
require 'drb/drb'
o = DRbObject.new_with_uri("druby://localhost:9876")
o.call("Hello!\n")
ä¸è¨ã¹ã¯ãªãããå®è¡ããã¨ãIIrcv.app ã®ã¦ã£ã³ãã¦ããã§ã¤ãã¤ã³ãããHello!ã ãå°åããã¾ãã
以ä¸ã®ãããªæ©è½ãããã¾ãã
URL ãéãæ©è½ã¯æ¬å®¶ã«ã¯ããã¾ãããIIrcv ã«ã¯ä»ã®ã¨ããããã¾ããã
ç¾å¨ã®ææ°ãã¼ã¸ã§ã³
æ°¸é ã®éçºçã§ããä¸åã®ä¿è¨¼ã¯ããã¾ããã rev510 以é㯠Universal Binary ã¨ãã¦ã³ã³ãã¤ã«ãã¦ãã¾ããã Intel ã§ããåä½ç¢ºèªããã¦ããªãããåããªãããããã¾ããã
Ruby/Cocoa ãã¤ã³ã¹ãã¼ã«ããã¦ããªãå ´åã¯ã¤ã³ã¹ãã¼ã«ãå¿ è¦ã§ãã ãã¦ã³ãã¼ã ãã¦ã¤ã³ã¹ãã¼ã«ãã¦ãã ããã
ãã¨ã¯ IIrcv.app ãã©ã£ãã«ã³ãã¼ããã°æããåãã¾ãã
ã¯ã©ã¤ã¢ã³ãã®ãµã³ãã«ã¨ã㦠client/ircv.rb ãããã¾ããé©å½ã«ç·¨éãã¦èµ·åããã° IRC ã®çºè¨ã IIrcv ã«è¡¨ç¤ºããããã¨ãã§ãã¾ãã
irc.rb 以å¤ã«ãããã¤ãã®ãµã³ãã«ãããã¾ãã
è¨å®ãã¡ã¤ã«ã¯ $HOME/.iircv.yaml ãèªã¿è¾¼ã¿ã¾ããä¸é¨ã®é ç®ãé¤ãã°ãèµ·åãã¦ããã§ã ã¹ãã¼ã¿ã¹ã¢ã¤ã³ã³ãã¯ãªãã¯ãã¦ã§ãã¡ãã¥ã¼ããåèªã¿è¾¼ã¿ãã§ãã¾ãã
è¨å®ã®ãµã³ãã«
:uri: druby://:9876 # DRb URI
:min_alpha: 0 # ã©ãã¾ã§éæã«ããã
:max_alpha: 1 # ã¢ã¯ãã£ããªã¨ãã«ç¶æããéæ度
:fadein_speed: 0.05 # ãã§ã¤ãã¤ã³ããã¨ãã®ãã£ã¬ã¤
:fadeout_speed: 0.05 # ãã§ã¤ãã¢ã¦ãããã¨ãã®ãã£ã¬ã¤
:font_size: 13 # ãã©ã³ããµã¤ãº
#:font_name: BitstreamVeraSansMono-Bold # ãã©ã³ãå
:line_height: 1.3 # ä¸è¡ã®é«ãã®å²å font_size * line_height ãå®éã®é«ã
:fadeout_time: 10 # ãã®ç§æ°å¾ã«èªåã§ãã§ã¤ãã¢ã¦ããã
:ignore_mouse: true # ãã¦ã¹ã¤ãã³ããééãã
:width: 600 # Window ã®å¹
:lines: 15 # 表示ããæ大è¡æ°
:keys: # ã·ã§ã¼ãã«ãããã¼ã¹ãã¼ã¿ã¹ã¡ãã¥ã¼ã®ããããã®é
ç®ã«è©²å½
:toggle_hide: Command+Shift+H
# :toggle_timeout: Command+Shift+T
# :ignore_mouse_event: Command+Shift+I
# :reload: Command+Shift+R
:keywords: # ãã¼ã¯ã¼ããã¤ã©ã¤ãã®è¨å®
# - [æ£è¦è¡¨ç¾, è², è¡å
¨ä½ããã¤ã©ã¤ãããã]
- ["cho45", "#ffcc00", true]
ä½ãè¨å®ã§ãããã®è©³ç´°ã¯ãIIrcv.app ãå³ã¯ãªãã¯ããããã±ã¼ã¸ã®å 容ã表示ã Contents -> Resources -> iircv.rb ã® load_config ã¡ã½ããããããè¦ã¦ãã ããã
æä¾ããã DRb ããã³ããªãã¸ã§ã¯ã㯠IO#write ã¨äºæããããããIO ãç¶æ¿ã㦠write ã¡ã½ãããããã³ããªãã¸ã§ã¯ãã«å§è²ãããã¨ã§æ¸ãè¾¼ã¿å°ç¨ IO ã¨ãã¦å©ç¨ã§ãã¾ãã
require 'drb/drb'
class OutIO < IO
def initialize(write_proc)
@proc = write_proc
end
def write(arg)
@proc.call(arg)
end
end
o = DRbObject.new_with_uri("druby://localhost:9876")
$stdout = OutIO.new(o)
puts "Hello!"
ä¸ã®ã¹ã¯ãªãã㯠IO ã®ãµãã¯ã©ã¹ãä½ããwrite ã¡ã½ããããªã¼ãã¼ã©ã¤ãã㦠$stdout ã«ä»£å ¥ãã¦ããä¾ã§ãã
$stdout ã«ä»£å ¥ãããã¨ã§ããã以éã®æ¨æºåºåã®å å®¹ã¯ å ¨ã¦ IIrcv.app ã«æµããããã«ãªãã¾ãã ($stdout ã«ã¯ write ã¡ã½ããã®ãããªãã¸ã§ã¯ããªããªãã§ãå ¥ãããã¾ãã ããªãã¡å¥ã« IO ã®ãµãã¯ã©ã¹ã§ããå¿ è¦ã¯ããã¾ããã)
Creative-Commons by