বলা পদ্ধতি method… 'এখানে সংজ্ঞায়িত করা হয়


13

রুবি ২.7 সবেমাত্র প্রকাশিত হয়েছিল এবং এটি "পজিশনাল এবং কীওয়ার্ড আর্গুমেন্টগুলির পৃথকীকরণ" (তাদের প্রকাশের পোস্ট দেখুন ) এর জন্য এই নতুন সতর্কতাগুলির সাথে আসে । আমি এটির সাথে খেলছিলাম এবং আবিষ্কার করেছি যে আরও একটি সতর্কতা রয়েছে, যা আমি বুঝতে পারি না।

উদাহরণ:

def multiply(x:, y:)
  x * y
end

args = { x: 2, y: 3 }

multiply(args)

# ./warning.rb:7: warning: Using the last argument as keyword parameters is deprecated; maybe ** should be added to the call
# ./warning.rb:1: warning: The called method `multiply' is defined here

আমি মনে করি অবচয় সম্পর্কে প্রথম সতর্কতা স্পষ্ট, তবে দ্বিতীয় সতর্কতা The called method `multiply' is defined hereআমাকে বিভ্রান্ত করছে।

দ্বিতীয় সতর্কতার অর্থ কী? এটি কি প্রথম সতর্কতার সাথে সম্পর্কিত?

**কল ( multiply(**args)) এ যুক্ত করার সময় উভয় সতর্কতা অদৃশ্য হয়ে যায় ।


1
যে কেউ এই সতর্কতা দমন করতে জানেন? লগ ফাইলে লেখার জন্য আমার অবজ্ঞার সতর্কতা রয়েছে, তবে এটি এগুলিকে প্রভাবিত করে না। চলমান চশমাটি রুবি ২.7.০
কার্ল

উত্তর:


15

দ্বিতীয় সতর্কতার অর্থ কী? এটি কি প্রথম সতর্কতার সাথে সম্পর্কিত?

পাঠ্যকে দুটি লাইনে বিভক্ত করে একক সতর্কতা রয়েছে। এটি আক্ষরিকভাবে বলে: argsএটি রূপান্তরিত হওয়া উচিত **args, এখানে এই কলটি এই সতর্কতা তৈরি করেছে, আপনার সুবিধার জন্য এখানে তার সংজ্ঞা দেওয়া আছে


5
সুন্দর ধন্যবাদ আপনাকে! এটি কেবল আমিই হতে পারি তবে এটি বেশ বিভ্রান্তিকর ...
lxxxvi

2
@lxxxvi- এ কেবল আপনিই নন আমি ঠিক একই জিনিসটির জন্য এখানে এসেছি - এটি যদি একটি ত্রুটি বার্তা হয় তবে আমার মনে হয় এটি একটি ত্রুটি বার্তা হওয়া উচিত।
জ্যাকব

আমি সত্যিই বিভ্রান্ত হয়েছি, আমি এই সতর্কতাটি দেখছি এবং i18n.rb এর উপরে এর উপরে কিছুই নেই, এটি একটি একক লাইন সতর্কতা, উপরের লাইনটি সক্রিয় সমর্থনের সাথে সম্পর্কিত। এই সতর্কতা সম্পর্কে আমার কী করা উচিত? </usr/local/lib/ruby/gems/2.7.0/gems/i18n-1.8.2/lib/i18n.rbext95: সতর্কতা: তথাকথিত 'টি' এখানে সংজ্ঞায়িত হয়েছে
হ্যাকারন
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.