summaryrefslogtreecommitdiff
path: root/samples/test.rb
diff options
context:
space:
mode:
Diffstat (limited to 'samples/test.rb')
-rw-r--r--samples/test.rb53
1 files changed, 53 insertions, 0 deletions
diff --git a/samples/test.rb b/samples/test.rb
new file mode 100644
index 0000000..3fbfb9f
--- /dev/null
+++ b/samples/test.rb
@@ -0,0 +1,53 @@
+# A simple Ruby class demonstration
+
+class Person
+ attr_accessor :name, :age
+
+ def initialize(name, age)
+ @name = name
+ @age = age
+ end
+
+ def introduce
+ puts "Hi, I'm #{@name} and I am #{@age} years old."
+ end
+
+ def can_vote?
+ @age >= 18
+ end
+end
+
+# Module definition
+module Greeter
+ def self.say_hello(name)
+ puts "Hello, #{name}!"
+ end
+end
+
+# Main execution
+if __FILE__ == $0
+ alice = Person.new("Alice", 25)
+ alice.introduce
+
+ if alice.can_vote?
+ puts "#{alice.name} can vote."
+ else
+ puts "#{alice.name} cannot vote."
+ end
+
+ Greeter.say_hello("Bob")
+
+ # Array and block
+ numbers = [1, 2, 3, 4, 5]
+ squared = numbers.map { |n| n * n }
+ puts "Squared numbers: #{squared.inspect}"
+
+ # Hash
+ config = {
+ :env => "production",
+ :retries => 3,
+ :timeout => 500
+ }
+
+ puts "Environment: #{config[:env]}"
+end