লুপের শেষে অবজেক্টটি মুদ্রণ করা থেকে রেলস কনসোল বন্ধ করুন


86

যদি আমি বলি, প্রদত্ত মডেলটির প্রতিটি উদাহরণের মধ্য দিয়ে লুপ এবং প্রতিটি থেকে কিছু আউটপুট, শেষে, irb এখনও পুরো অবজেক্টটি মুদ্রণ করবে।

যদি বস্তুটি কয়েকশ লাইন নিয়ে শেষ হয় তবে আমি আসলে যা খুঁজছিলাম তা দেখার আগে এটি অনেক দীর্ঘ হবে। রেলস কনসোলে এটি নিষ্ক্রিয় করার কোনও উপায় আছে কি?

উত্তর:


112

আপনি যদি প্রতিধ্বনিকে অক্ষম করতে না চান তবে আপনি একটি কমান্ড লাইনে একাধিক অভিব্যক্তিও কল করতে পারেন। কেবলমাত্র সর্বশেষ এক্সপ্রেশনটির আউটপুট প্রদর্শিত হবে।

big_result(input); 0

4
এটি আসলে আমি যা চেয়েছিলাম
dsp_099

4
আমি প্রায়শই করিbig_result(input); nil
1:55

102

কল করুন conf.echo = falseএবং এটি রিটার্ন মান প্রিন্ট করবে না। এটি কেবল রেইস কনসোল নয়, কোনও আইআরবি সেশনের জন্য কাজ করে।

আপনি যদি এটিকে স্থায়ী করতে চান তবে এটি আপনার আইআরবি কনফিগারেশনে যুক্ত করুন।

echo 'IRB.conf[:ECHO] = false' >> $HOME/.irbrc

আপনি যদি সর্বদা এটি ডিফল্টরূপে হতে চান তবে আপনি কী করবেন?
পিটার বার্গ

@ আকিফিরান আমার ধারণা, এটি রেল প্রারম্ভিকগুলিতে স্থাপন করা কার্যকর হবে।
লুলালালা

প্রতিক্রিয়াটির জন্য ধন্যবাদ, আমি আসলে দেখতে পেলাম যে IRB.conf[:ECHO] = falseআমার .irbrc ফাইলে কেবল লাইনটি নিক্ষেপ করা হয়েছে এটি যত্ন নিয়েছে। এটি অবশ্যই আমার সমস্ত আইআরবি সেশনে প্রতিধ্বনি ঘুরিয়ে দেয় তবে আমি এটির সাথে ঠিক আছি।
পিটার বার্গ

41

অস্থায়ীভাবে রিটার্ন মানগুলি মুদ্রণ করা থেকে কনসোলকে থামাতে আপনি nilআপনার লুপ বা ফাংশন শেষে একটি বিবৃতি জারি করতে পারেন , তবে রিটার্নটি চাপ দেওয়ার আগে।

record.each do |r|
  puts r.properties
end; nil

অথবা টাইপিং হ্রাস করতে চাইলে এটিও একটি সংখ্যা হতে পারে। তবে এটি পরিস্থিতিতে বিভ্রান্তিকর হতে পারে, যা আমি ভাবতে পারি না।

record.each do |r|
  puts r.properties
end; 0

তুমিই শ্রেষ্ঠ!
ਬਿਮਾਰ 11
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.