रूबी 2.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))।