summaryrefslogtreecommitdiff
path: root/ruby_1_8_5/sample/drb/darrayc.rb
diff options
context:
space:
mode:
Diffstat (limited to 'ruby_1_8_5/sample/drb/darrayc.rb')
-rw-r--r--ruby_1_8_5/sample/drb/darrayc.rb59
1 files changed, 59 insertions, 0 deletions
diff --git a/ruby_1_8_5/sample/drb/darrayc.rb b/ruby_1_8_5/sample/drb/darrayc.rb
new file mode 100644
index 0000000000..6f5ff6bb5d
--- /dev/null
+++ b/ruby_1_8_5/sample/drb/darrayc.rb
@@ -0,0 +1,59 @@
+=begin
+ distributed Ruby --- Array client
+ Copyright (c) 1999-2001 Masatoshi SEKI
+=end
+
+require 'drb/drb'
+
+there = ARGV.shift || raise("usage: #{$0} <server_uri>")
+
+DRb.start_service(nil, nil)
+ro = DRbObject.new(nil, there)
+p ro.size
+
+puts "# collect"
+a = ro.collect { |x|
+ x + x
+}
+p a
+
+puts "# find"
+p ro.find { |x| x.kind_of? String }
+
+puts "# each, break"
+ro.each do |x|
+ next if x == "five"
+ puts x
+end
+
+puts "# each, break"
+ro.each do |x|
+ break if x == "five"
+ puts x
+end
+
+puts "# each, next"
+ro.each do |x|
+ next if x == "five"
+ puts x
+end
+
+puts "# each, redo"
+count = 0
+ro.each do |x|
+ count += 1
+ puts count
+ redo if count == 3
+end
+
+puts "# each, retry"
+retried = false
+ro.each do |x|
+ puts x
+ if x == 4 && !retried
+ puts 'retry'
+ retried = true
+ retry
+ end
+end
+