Rubyの魔神 このページをアンテナに追加 RSSフィード

   「Ruby」は宝石の魔神のイメージ(The Jinn of the Ruby)
[DMY] [VB] [VB6] [Python] [C#] [Android] [電子工作] [個人メモ] [仕事メモ] [アイデア] [TstLink] [CE] [LTSA]
[自動化] [Qt] [OCaml] [3Dプリンタ] [TOOLS] [RAA] [Forge]
  [機能別索引] [逆引きRuby] [マニュアル] [るびま] [標準ライブラリ] [るりまサーチ] [Try! Ruby] [PRaggerまとめ] [ピジョン・ブラッド]
   [Rubyコーディング規約] [プログラミングのオキテ] [Rubyist SNS] [TOOLBIS]
   [RubyネットワークProg] [druby] [コードなにがし] [RDocテンプレ] [Ruby/Tkサンプル]
   [WAVE] [Xperia] [github] [twitterなど] [EA] [マクロ]

2006-11-29

URL エンコード&デコード

| 15:09 | URL エンコード&デコード  - Rubyの魔神 を含むブックマーク はてなブックマーク - URL エンコード&デコード  - Rubyの魔神 URL エンコード&デコード  - Rubyの魔神 のブックマークコメント

#!/usr/bin/env ruby 
# URL エンコード&デコード 
# Usage : urlencode.rb [-d] 
# Option : -d デコード 
require 'cgi' 
require 'getopts' 
getopts( "d" ) 
  if $OPT_d ARGF.each{ |line| puts CGI.unescape( line.chomp ) } 
else 
  ARGF.each{ |line| puts CGI.escape( line.chomp ) } 
end
URL エンコード&デコード

XMLRPC例

| 13:30 | XMLRPC例 - Rubyの魔神 を含むブックマーク はてなブックマーク - XMLRPC例 - Rubyの魔神 XMLRPC例 - Rubyの魔神 のブックマークコメント

client

require 'xmlrpc/client'

client = XMLRPC::Client.new2("http://localhost:8080/XMLRPCserver.rb")
result = client.call("sample.sumAndDifference", 5, 3)
sum = result["sum"]
difference = result["difference"]
puts "Sum: #{sum}, Difference: #{difference}"

server

#!/usr/local/bin/ruby

require "xmlrpc/server"
s = XMLRPC::CGIServer.new
s.add_handler("sample.sumAndDifference") do |a,b|
  { "sum" => a + b, "difference" => a - b }
end
s.serve

proxy

| 17:39 | proxy - Rubyの魔神 を含むブックマーク はてなブックマーク - proxy - Rubyの魔神 proxy - Rubyの魔神 のブックマークコメント

proxy()を使うと関数のように呼べる

server独立型

require "xmlrpc/server"

s=XMLRPC::Server.new(10000)

s.add_handler("test.mul")do |a|
	a*2
end
s.serve

client

require "xmlrpc/client"

s=XMLRPC::Client.new("localhost","/mul2",10000)

michael = s.proxy("test")
result = michael.mul(310) 
p result

RubyでRS-232C

| 18:12 | RubyでRS-232C - Rubyの魔神 を含むブックマーク はてなブックマーク - RubyでRS-232C - Rubyの魔神 RubyでRS-232C - Rubyの魔神 のブックマークコメント

#require 'timeout'

system "MODE COM1 BAUD=9600 PARITY=N DATA=8 STOP=1"
com1 = open("com1", "r+b")#.binmode

#com1  = open("/dev/cuaa0", "r+")
#system( "stty < /dev/cuaa0 2400" )

#status = timeout(15) {          # Time Limit

  com1.syswrite "AT\r\n"    # RS232C OUT
  sleep(1)
  strem = ''
  while c = com1.sysread(1)    # RS232C IN
          strem += c
          break if c == "\n"
  end
  print strem

#}       # End of Time Limit routine
#print status,"\n" unless status 
トラックバック - http://ruby.g.hatena.ne.jp/garyo/20061129