উত্তর:
তুমি কি কথা বলছ gets?
puts "Enter A"
a = gets.chomp
puts "Enter B"
b = gets.chomp
c = a.to_i + b.to_i
puts c
এরকম কিছু?
Kernel.getsপাওয়া প্যারামগুলি পড়ার চেষ্টা করে ARGVএবং ARGVপাওয়া না গেলে কেবল কনসোল দিতে বলে asks ARGVখালি ব্যবহার না হলেও কনসোল থেকে পড়তে বাধ্য করার জন্যSTDIN.gets
Kernel.getsপাওয়া ফাইলগুলি পড়ার চেষ্টা করুন ARGVএবং যদি ARGVপাওয়া না যায় তবে কেবল কনসোল দিতে বলে । ARGVখালি ব্যবহার না হলেও কনসোল থেকে পড়তে বাধ্য করার জন্য STDIN.gets।
a.to_iএবং b.to_iআরও ভাল হতে পারে
getsরুদ্ধ হবে? যদি তা না হয় তবে কি এমন কোনও বিকল্প আছে যা অবরুদ্ধ করছে?
আপনি কমান্ড লাইনের মাধ্যমে পরামিতিগুলিও পাস করতে পারেন। কমান্ড লাইন আর্গুমেন্টগুলি অ্যারের এআরজিভিতে স্টোর। সুতরাং এআরজিভি [0] হ'ল প্রথম সংখ্যা এবং এআরজিভি [1] দ্বিতীয় নম্বর
#!/usr/bin/ruby
first_number = ARGV[0].to_i
second_number = ARGV[1].to_i
puts first_number + second_number
এবং আপনি এটিকে ডাকেন
% ./plus.rb 5 6
==> 11
ব্যবহারকারীদের কাছ থেকে ইনপুট নেওয়ার অনেকগুলি উপায় রয়েছে। আমি ব্যক্তিগতভাবে পদ্ধতিটি ব্যবহার করে পছন্দ করি। আপনি যখন ব্যবহার করেন তখন এটি আপনার টাইপ করা স্ট্রিংটি পায় এবং এতে আপনার ইনপুটটি শেষ করতে চাপানো ENTER কীটি অন্তর্ভুক্ত থাকে ।
name = gets
"mukesh\n"
আপনি এটি আইআরবিতে দেখতে পারেন ; এটি টাইপ করুন এবং আপনি \ n দেখতে পাবেন যা ENTER কী উত্পন্ন করে এমন "নিউলাইন" অক্ষর: টাইপ করুন
name = getsআপনি এমন কিছু কিছু দেখতে পাবেন যেমন"mukesh\n"আপনি chomp পদ্ধতি ব্যবহার করে pesky newline চরিত্র থেকে মুক্তি পেতে পারেন ।
Chomp পদ্ধতি আপনাকে স্ট্রিং ফিরিয়ে দেয়, তবে নতুন লাইনের সমাপ্তি ছাড়াই। সুন্দর চম্প পদ্ধতি জীবন রক্ষাকারী।
name = gets.chomp
"mukesh"
আপনি ইনপুট পড়তে টার্মিনালটিও ব্যবহার করতে পারেন। এআরজিভি হ'ল অবজেক্ট শ্রেণিতে একটি ধ্রুবক সংজ্ঞায়িত । এটি অ্যারে শ্রেণীর উদাহরণ এবং এতে অ্যারের সমস্ত পদ্ধতিতে অ্যাক্সেস রয়েছে। যেহেতু এটি একটি অ্যারে, এটি ধ্রুবক হলেও, এর উপাদানগুলি কোনও সমস্যা ছাড়াই সংশোধন ও সাফ করা যায়। ডিফল্টরূপে, রুবি একটি রুবি প্রোগ্রামে স্থানিত সমস্ত কমান্ড লাইন আর্গুমেন্ট (স্পেস দ্বারা বিভক্ত) ক্যাপচার করে যখন কমান্ড-লাইন বাইনারি চালু হয় এবং এআরজিভি অ্যারেতে স্ট্রিং হিসাবে সেগুলি সঞ্চয় করে ।
আপনার রুবি প্রোগ্রামের ভিতরে লেখার সময়, এআরজিভি একটি কমান্ড লাইন কমান্ড নেবে যা দেখতে এরকম দেখাচ্ছে:
test.rb hi my name is mukesh
এবং এমন একটি অ্যারে তৈরি করুন যা দেখতে দেখতে:
["hi", "my", "name", "is", "mukesh"]
তবে, আমি যদি সীমিত ইনপুট পাস করতে চাই তবে আমরা এরকম কিছু ব্যবহার করতে পারি।
test.rb 12 23
এবং আপনার প্রোগ্রামে এই জাতীয় ইনপুটটি ব্যবহার করুন:
a = ARGV[0]
b = ARGV[1]
আপনি যদি ইন্টারেক্টিভ কনসোল তৈরি করতে চান:
#!/usr/bin/env ruby
require "readline"
addends = []
while addend_string = Readline.readline("> ", true)
addends << addend_string.to_i
puts "#{addends.join(' + ')} = #{addends.sum}"
end
ব্যবহার (ধরে নিলে আপনি summatorবর্তমান ডিরেক্টরিতে স্নিপেটের উপরে ফাইল রাখবেন):
chmod +x summator
./summator
> 1
1 = 1
> 2
1 + 2 = 3
Ctrl + Dপ্রস্থান করতে ব্যবহার করুন