ویژگی تصویر

ورودی ها در Ruby

  /  Ruby   /  ورودی ها در Ruby
بنر تبلیغاتی الف
زبان Ruby

در این بخش به بررسی ورودی ها در Ruby می پردازیم، Ruby یکی از زبان‌های برنامه‌نویسی قدرتمند و انعطاف‌پذیر است که به دلیل ساده‌بودن سینتکس و قابلیت خوانایی بالا، محبوبیت زیادی در میان برنامه‌نویسان دارد. یکی از بخش‌های مهم در برنامه‌نویسی با هر زبان، توانایی دریافت داده از کاربر یا منابع مختلف است. در Ruby، کار با ورودی‌ها به شیوه‌ای ساده و در عین حال کاربردی پیاده‌سازی شده است. این ویژگی به برنامه‌نویسان اجازه می‌دهد که برنامه‌هایی با قابلیت تعامل بالا و کاربرپسند ایجاد کنند.

ورودی‌ها می‌توانند از منابع مختلفی همچون صفحه‌کلید، فایل‌ها، یا حتی شبکه گرفته شوند. درک نحوه کار با ورودی‌ها و مدیریت آن‌ها در Ruby اهمیت زیادی دارد زیرا به شما کمک می‌کند برنامه‌هایی پویا و انعطاف‌پذیر بسازید. در این مقاله، با استفاده از مثال‌ها و توضیحات جامع، به بررسی جزئیات نحوه کار با ورودی‌ها در Ruby خواهیم پرداخت.

دریافت ورودی از کاربر با استفاده از gets

یکی از ساده‌ترین روش‌ها برای دریافت ورودی از کاربر در Ruby استفاده از متد gets است. این متد یک خط ورودی از کاربر می‌گیرد و آن را به‌عنوان یک رشته برمی‌گرداند.

مثال:

puts "نام خود را وارد کنید:"
name = gets
puts "سلام، #{name}!"

توضیح:

  • خط اول: پیام “نام خود را وارد کنید:” را برای کاربر چاپ می‌کند.
  • خط دوم: متد gets منتظر ورودی از کاربر می‌ماند. کاربر می‌تواند چیزی را تایپ کرده و سپس کلید Enter را فشار دهد. مقدار وارد شده به متغیر name اختصاص داده می‌شود.
  • خط سوم: پیام “سلام، [نام وارد شده]” را چاپ می‌کند.

نکته: متد gets مقدار وارد شده توسط کاربر را همراه با کاراکتر خط جدید (\n) برمی‌گرداند. برای حذف این کاراکتر می‌توانید از متد .chomp استفاده کنید:

name = gets.chomp

مدیریت ورودی‌های عددی

گاهی اوقات نیاز دارید که کاربر عددی را وارد کند. از آنجا که متد gets همیشه مقدار ورودی را به‌عنوان رشته دریافت می‌کند، باید آن را به نوع عددی تبدیل کنید.

تبدیل ورودی به عدد صحیح یا اعشاری

برای تبدیل رشته به عدد صحیح از متد .to_i و برای تبدیل به عدد اعشاری از متد .to_f استفاده می‌شود.

مثال:
puts "لطفاً یک عدد وارد کنید:"
number = gets.chomp.to_i
puts "عدد شما دو برابر می‌شود: #{number * 2}"
توضیح:
  • خط اول: پیام درخواست عدد از کاربر را چاپ می‌کند.
  • خط دوم: ورودی کاربر به عدد صحیح تبدیل می‌شود.
  • خط سوم: عدد وارد شده در ۲ ضرب شده و نتیجه چاپ می‌شود.

دریافت ورودی از فایل

علاوه بر دریافت ورودی از کاربر، Ruby به شما اجازه می‌دهد داده‌ها را از فایل‌ها نیز بخوانید. این ویژگی برای کار با داده‌های بزرگ یا ذخیره‌شده بسیار مفید است.

باز کردن و خواندن فایل

برای خواندن داده از فایل از کلاس File استفاده می‌شود. متدهایی مانند File.open یا File.read به شما امکان خواندن داده از فایل را می‌دهند.

مثال:

فرض کنید فایلی با نام data.txt دارید که شامل محتویات زیر است:

سلام
به
Ruby
خوش آمدید!

کد زیر محتویات فایل را می‌خواند:

file = File.open("data.txt", "r")
contents = file.read
puts contents
file.close
توضیح:
  • خط اول: فایل با نام data.txt در حالت “خواندن” (r) باز می‌شود.
  • خط دوم: متد read کل محتویات فایل را به متغیر contents اختصاص می‌دهد.
  • خط سوم: محتویات فایل چاپ می‌شود.
  • خط چهارم: فایل بسته می‌شود تا منابع آزاد شوند.

دریافت ورودی از خط فرمان (Arguments)

Ruby همچنین می‌تواند ورودی را از طریق آرگومان‌های خط فرمان دریافت کند. این ویژگی برای اسکریپت‌هایی که باید با پارامترهای خاصی اجرا شوند بسیار کاربردی است.

دسترسی به آرگومان‌ها

آرگومان‌های خط فرمان در آرایه‌ای به نام ARGV ذخیره می‌شوند.

مثال:

کدی بنویسید که نام کاربر را از خط فرمان دریافت کند:

puts "سلام، #{ARGV[0]}!"

سپس اسکریپت را این‌گونه اجرا کنید:

ruby script.rb علی
توضیح:
  • ARGV[0]: اولین آرگومان خط فرمان را می‌گیرد. در این مثال مقدار علی چاپ می‌شود.

مدیریت ورودی‌های غیرمعتبر

در هنگام دریافت ورودی از کاربر، ممکن است ورودی نامعتبر دریافت کنید. برای مدیریت این موارد می‌توانید از دستورات شرطی و حلقه‌ها استفاده کنید.

مثال:

تماشا در حالت تمام صفحه

توضیح:

  • خط اول: یک حلقه ایجاد می‌کند که تا زمانی که ورودی معتبر دریافت نشود، ادامه دارد.
  • خط چهارم: از یک عبارت منظم برای بررسی اینکه آیا ورودی فقط شامل ارقام است استفاده می‌کند.
  • خط ششم: در صورت معتبر بودن ورودی، حلقه متوقف می‌شود.
  • خط هشتم: پیام خطا برای ورودی نامعتبر چاپ می‌شود.

در این مقاله، روش‌های مختلف دریافت ورودی در Ruby را بررسی کردیم، از جمله دریافت ورودی از کاربر با gets، خواندن داده از فایل، کار با آرگومان‌های خط فرمان، و مدیریت ورودی‌های نامعتبر. با تمرین و استفاده از این مفاهیم، می‌توانید برنامه‌هایی تعاملی و پویا بنویسید که نیازهای کاربران را به بهترین شکل برآورده کند.

منابع

آیا این مطلب برای شما مفید بود ؟

خیر
بله
بنر تبلیغاتی ج