के बाद,स्कैला में एक या कोई भी परिवर्तनीय तर्क कैसे पास करें?
def test(args: Any*) = args.size
मैं खाली तर्क सूची स्थिति के आधार पर से कॉल करने की है, लेकिन अगर/किसी और से बचने के लिए चाहते हैं।
test(List("one").filter(_ => condition) : _*)
वहाँ इस से बेहतर तरीका है:
मैं इस समाधान के साथ बाहर आ गए?
अधिक संदर्भ के लिए, मैं प्ले 2.0 स्केला के साथ खेल रहा हूँ, और यह है:
user => Redirect(routes.Application.index).withSession("username" -> user._1).withCookies(
List(Cookie("rememberme", Crypto.sign(user._1) + "-" + user._1)).filter(_ => user._3) : _*)
जहां user._3
rembemberme बूलियन है।
मैं सत्र के साथ कॉल नहीं करना चाहता हूं या इसे खाली तर्क सूची (कुकी को तत्काल नहीं करने के लिए) के साथ कॉल करना चाहूंगा यदि याद रखना गलत है, स्केल तरीके से।
धन्यवाद।
धन्यवाद, मैं मानता हूँ यह साफ है, और मैं वास्तव में नहीं था अगर/अन्य से बचने के लिए चाहते हैं, लेकिन तत्काल सूची से बचें, तो मुझे बस Seq.empty या Nil याद आ रही थी, इसलिए दूसरा जवाब भी उपयोगी है :) – avalez
@alavez यदि आपका उद्देश्य किसी सूची को तत्काल से बचाना था, तो यह एक बड़ी असफलता है, क्योंकि यह वही है जो 'सेक' करता है! आप कुकीज को 'वैल टी' से पहले भाग निर्दिष्ट करके इसे टालना चाहते हैं, फिर 'if (user._3) t.withCookies (...) और अन्य t.withCookies() 'को कॉल कर रहे हैं। अस्थायी चर अच्छे हैं! –
आपकी टिप्पणी के लिए धन्यवाद। क्या मैं सही सोच रहा हूं कि नील का उपयोग तत्काल सूची से बच जाएगा? और सिर्फ बेहतर समझने के लिए, Seq.empty किसी भी तरह से नील से बेहतर या बदतर है? – avalez