আমি ফ্লো এপিআইয়ের সাথে পরিচিত নই।
"উত্তোলন" শব্দটি বিভাগের তত্ত্ব থেকে এসেছে। হাস্কেল বা স্কালার মতো প্রোগ্রামিং ভাষায়, একটি lift
ফাংশন একটি ফাংশন নেয় A => B
এবং কোনওভাবে যাদু সম্পাদন করে যাতে উত্তোলন ফাংশনটি F[A] => F[B]
কোনও ফান্টেক্টর বা মোনাডে প্রয়োগ করা যায় F[A]
।
স্কালার Seq
ধারক ব্যবহার করে একটি কংক্রিটের উদাহরণ : ধরে নিন আমাদের একটি ক্রিয়াকলাপ def double(x: Int): Int = 2 * x
এবং ক্রম রয়েছে val xs = Seq(1, 2, 3)
। আমরা double(xs)
বেমানান ধরণের কারণে পারি না । তবে আমরা যদি একটি val doubleSeq = liftToSeq(double)
পাই, আমরা করতে পারি doubleSeq(xs)
, যা মূল্যায়ন করে Seq(2, 4, 6)
। এখানে, liftToSeq
হিসাবে বাস্তবায়ন করা যেতে পারে
def liftToSeq[A, B](f: A => B): (Seq[A] => Seq[B]) =
(seq: Seq[A]) => seq.map(f)
Seq(…)
কন্সট্রাকটর একটি উত্তোলন অপারেশন, যা মান ওপরও হিসেবে দেখা যেতে পারে 1, 2, 3
একটি মধ্যে Seq
উদাহরণস্বরূপ, এইভাবে আমাদের এই মানের জন্য তালিকা বিমূর্ত ব্যবহার করার অনুমতি দেয়।
মনডস আমাদের জলরোধক কিন্তু কমপোজেবল ইন্টারফেসের মাধ্যমে কিছু প্রকারের অভ্যন্তরীণ কাজগুলি সজ্জিত করতে দেয়। উত্তোলিত প্রতিনিধিত্ব ব্যবহার করে কোনও গণনার বিষয়ে যুক্তি করা সহজ করা যায়। এই জাতীয় বিমূর্ততা ব্যবহারের অর্থ হ'ল আমরা বিমূর্ত-দূরে সুনির্দিষ্ট বৈশিষ্ট্যগুলি সম্পর্কে জ্ঞান হারাচ্ছি, তবে হুডের অধীনে কার্যকর প্রয়োগের জন্য (উপযুক্ত কার্যকর প্রতিনিধিত্ব সন্ধানের জন্য) এটি প্রয়োজনীয়।