অ্যারে ফাংশন

অ্যারে ফাংশন

নাম বিবরণ
ARRAY প্রতিটি ইনপুট আর্গুমেন্টের জন্য একটি এলিমেন্ট সহ ARRAY রিটার্ন করে
ARRAY_CONCAT একাধিক অ্যারে একটি ARRAY-এ কনক্যাটিনেট করে
ARRAY_CONTAINS প্রদত্ত ARRAY-এ নির্দিষ্ট ভ্যালু থাকলে TRUE রিটার্ন করে
ARRAY_CONTAINS_ALL ARRAY-এ সব ভ্যালু থাকলে TRUE রিটার্ন করে
ARRAY_CONTAINS_ANY ARRAY-এ কোনও ভ্যালু থাকলে TRUE রিটার্ন করে
ARRAY_FILTER ARRAY থেকে এমন এলিমেন্ট ফিল্টার করে বাদ দেয় যা প্রেডিকেট পূরণ করে না
ARRAY_FIRST ARRAY-এর প্রথম এলিমেন্ট ফেরত পাঠায়
ARRAY_FIRST_N ARRAY-এ প্রথম nটি এলিমেন্ট দেখায়
ARRAY_GET ARRAY-এ প্রদত্ত ইন্ডেক্সে এলিমেন্ট রিটার্ন করে
ARRAY_INDEX_OF ARRAY-এ কোনও ভ্যালুর প্রথম উপস্থিতির ইন্ডেক্স দেখায়
ARRAY_INDEX_OF_ALL ARRAY-এ কোনও ভ্যালুর সব ইন্ডেক্স দেখায়
ARRAY_LENGTH ARRAY-এ এলিমেন্টের সংখ্যা দেখায়
ARRAY_LAST ARRAY-এর শেষ এলিমেন্ট রিটার্ন করে
ARRAY_LAST_N ARRAY-এ শেষ nটি এলিমেন্ট দেখায়
ARRAY_REVERSE ARRAY-এ এলিমেন্টের ক্রম উল্টে দেয়
ARRAY_SLICE ARRAY-এর একটি স্লাইস দেখায়
ARRAY_TRANSFORM প্রতিটি এলিমেন্টে এক্সপ্রেশন প্রয়োগ করে ARRAY-এর এলিমেন্ট ট্রান্সফর্ম করে
MAXIMUM ARRAY-এ সর্বাধিক মান দেখায়
MAXIMUM_N ARRAY-এ n-টি সবচেয়ে বড় ভ্যালু দেখায়
MINIMUM ARRAY-এ সর্বনিম্ন মান দেখায়
MINIMUM_N ARRAY-এ nটি সবচেয়ে ছোট মান দেখায়
SUM ARRAY-এ সব NUMERIC ভ্যালুর যোগফল দেখায়।
JOIN ARRAY-এর মধ্যে থাকা এলিমেন্টকে STRING ভ্যালু হিসেবে কনক্যাটিনেট করে।

অ্যারে

সিনট্যাক্স:

array(values: ANY...) -> ARRAY

বিবরণ:

প্রদত্ত উপাদান থেকে একটি অ্যারে তৈরি করে।

  • কোনও আর্গুমেন্ট না থাকলে, ফলাফল অ্যারেতে এটি NULL দিয়ে প্রতিস্থাপিত হয়।

উদাহরণ:

মান array(values)
() [কোথায় ছিলেন?][তারপর, কোথায় ছিলেন?][এতদিন কোথায় ছিলেন?][কোথায় ছিলেন বলুন তো?][কোথায় ছিলে][কোথায় ছিলি][কোথায় ছিলি এতদিন][কোথায় ছিলে এতদিন]
(১, ২, ৩) [১, ২, ৩]
("a", 1, true) ["a", 1, true]
(১, null) [১, ফাঁকা]
(১, [২, ৩]) [১, [২, ৩]]

ARRAY_CONCAT

সিনট্যাক্স:

array_concat(arrays: ARRAY...) -> ARRAY

বিবরণ:

দুই বা তার বেশি অ্যারে একটি ARRAY-এ কনক্যাটিনেট করে।

উদাহরণ:

অ্যারে array_concat(arrays)
([১, ২], [৩, ৪]) [১, ২, ৩, ৪]
(["a", "b"], ["c"]) ["a", "b", "c"]
([১], [২], [৩]) [১, ২, ৩]
([], [১, ২]) [১, ২]
Node.js
const result = await db.pipeline()
  .collection("books")
  .select(field("genre").arrayConcat([field("subGenre")]).as("allGenres"))
  .execute();
Swift
let result = try await db.pipeline()
  .collection("books")
  .select([Field("genre").arrayConcat([Field("subGenre")]).as("allGenres")])
  .execute()

Kotlin

val result = db.pipeline()
    .collection("books")
    .select(field("genre").arrayConcat(field("subGenre")).alias("allGenres"))
    .execute()

Java

Task<Pipeline.Snapshot> result = db.pipeline()
    .collection("books")
    .select(field("genre").arrayConcat(field("subGenre")).alias("allGenres"))
    .execute();
    
Python
from google.cloud.firestore_v1.pipeline_expressions import Field

result = (
    client.pipeline()
    .collection("books")
    .select(Field.of("genre").array_concat(Field.of("subGenre")).as_("allGenres"))
    .execute()
)
জাভা
Pipeline.Snapshot result =
    firestore
        .pipeline()
        .collection("books")
        .select(arrayConcat(field("genre"), field("subGenre")).as("allGenres"))
        .execute()
        .get();
Go
snapshot := client.Pipeline().
	Collection("books").
	Select(firestore.Fields(
		firestore.ArrayConcat(firestore.FieldOf("genre"), firestore.FieldOf("subGenre")).As("allGenres"),
	)).
	Execute(ctx)

ARRAY_CONTAINS

সিনট্যাক্স:

array_contains(array: ARRAY, value: ANY) -> BOOLEAN

বিবরণ:

array-এ value পাওয়া গেলে TRUE দেখায়, অন্যথায় FALSE দেখায়।

উদাহরণ:

অ্যারে মান array_contains(array, value)
[১, ২, ৩] 2 সত্য
[[১, ২], [৩]] [১, ২] সত্য
[১, ফাঁকা] ফাঁকা সত্য
"abc" যে কোনো ত্রুটি
Node.js
const result = await db.pipeline()
  .collection("books")
  .select(field("genre").arrayContains(constant("mystery")).as("isMystery"))
  .execute();

Web

const result = await execute(db.pipeline()
  .collection("books")
  .select(field("genre").arrayContains(constant("mystery")).as("isMystery"))
);
Swift
let result = try await db.pipeline()
  .collection("books")
  .select([Field("genre").arrayContains(Constant("mystery")).as("isMystery")])
  .execute()

Kotlin

val result = db.pipeline()
    .collection("books")
    .select(field("genre").arrayContains("mystery").alias("isMystery"))
    .execute()

Java

Task<Pipeline.Snapshot> result = db.pipeline()
    .collection("books")
    .select(field("genre").arrayContains("mystery").alias("isMystery"))
    .execute();
    
Python
from google.cloud.firestore_v1.pipeline_expressions import Field

result = (
    client.pipeline()
    .collection("books")
    .select(Field.of("genre").array_contains("mystery").as_("isMystery"))
    .execute()
)
জাভা
Pipeline.Snapshot result =
    firestore
        .pipeline()
        .collection("books")
        .select(arrayContains(field("genre"), "mystery").as("isMystery"))
        .execute()
        .get();
Go
snapshot := client.Pipeline().
	Collection("books").
	Select(firestore.Fields(
		firestore.ArrayContains(firestore.FieldOf("genre"), "mystery").As("isMystery"),
	)).
	Execute(ctx)

ARRAY_CONTAINS_ALL

সিনট্যাক্স:

array_contains_all(array: ARRAY, search_values: ARRAY) -> BOOLEAN

বিবরণ:

array-এ সব search_values পাওয়া গেলে TRUE দেখায়, অন্যথায় FALSE দেখায়।

উদাহরণ:

অ্যারে search_values array_contains_all(array, search_values)
[১, ২, ৩] [১, ২] সত্য
[১, ২, ৩] [১, ৪] মিথ্যা
[১, ফাঁকা] [null] সত্য
[NaN] [NaN] সত্য
[কোথায় ছিলেন?][তারপর, কোথায় ছিলেন?][এতদিন কোথায় ছিলেন?][কোথায় ছিলেন বলুন তো?][কোথায় ছিলে][কোথায় ছিলি][কোথায় ছিলি এতদিন][কোথায় ছিলে এতদিন] [কোথায় ছিলেন?][তারপর, কোথায় ছিলেন?][এতদিন কোথায় ছিলেন?][কোথায় ছিলেন বলুন তো?][কোথায় ছিলে][কোথায় ছিলি][কোথায় ছিলি এতদিন][কোথায় ছিলে এতদিন] সত্য
[১, ২, ৩] [কোথায় ছিলেন?][তারপর, কোথায় ছিলেন?][এতদিন কোথায় ছিলেন?][কোথায় ছিলেন বলুন তো?][কোথায় ছিলে][কোথায় ছিলি][কোথায় ছিলি এতদিন][কোথায় ছিলে এতদিন] সত্য
Node.js
const result = await db.pipeline()
  .collection("books")
  .select(
    field("genre")
      .arrayContainsAll([constant("fantasy"), constant("adventure")])
      .as("isFantasyAdventure")
  )
  .execute();

Web

const result = await execute(db.pipeline()
  .collection("books")
  .select(
    field("genre")
      .arrayContainsAll([constant("fantasy"), constant("adventure")])
      .as("isFantasyAdventure")
  )
);
Swift
let result = try await db.pipeline()
  .collection("books")
  .select([
    Field("genre")
      .arrayContainsAll([Constant("fantasy"), Constant("adventure")])
      .as("isFantasyAdventure")
  ])
  .execute()

Kotlin

val result = db.pipeline()
    .collection("books")
    .select(
        field("genre")
            .arrayContainsAll(listOf("fantasy", "adventure"))
            .alias("isFantasyAdventure")
    )
    .execute()

Java

Task<Pipeline.Snapshot> result = db.pipeline()
    .collection("books")
    .select(
        field("genre")
            .arrayContainsAll(Arrays.asList("fantasy", "adventure"))
            .alias("isFantasyAdventure")
    )
    .execute();
    
Python
from google.cloud.firestore_v1.pipeline_expressions import Field

result = (
    client.pipeline()
    .collection("books")
    .select(
        Field.of("genre")
        .array_contains_all(["fantasy", "adventure"])
        .as_("isFantasyAdventure")
    )
    .execute()
)
জাভা
Pipeline.Snapshot result =
    firestore
        .pipeline()
        .collection("books")
        .select(
            arrayContainsAll(field("genre"), Arrays.asList("fantasy", "adventure"))
                .as("isFantasyAdventure"))
        .execute()
        .get();
Go
snapshot := client.Pipeline().
	Collection("books").
	Select(firestore.Fields(
		firestore.ArrayContainsAll(firestore.FieldOf("genre"), []string{"fantasy", "adventure"}).As("isFantasyAdventure"),
	)).
	Execute(ctx)

ARRAY_CONTAINS_ANY

সিনট্যাক্স:

array_contains_any(array: ARRAY, search_values: ARRAY) -> BOOLEAN

বিবরণ:

array-এ search_values-এর কোনও একটি পাওয়া গেলে TRUE ফেরত পাঠায়, অন্যথায় FALSE ফেরত পাঠায়।

উদাহরণ:

অ্যারে search_values array_contains_any(array, search_values)
[১, ২, ৩] [৪, ১] সত্য
[১, ২, ৩] [৪, ৫] মিথ্যা
[১, ২, ফাঁকা] [null] সত্য
Node.js
const result = await db.pipeline()
  .collection("books")
  .select(
    field("genre")
      .arrayContainsAny([constant("fantasy"), constant("nonfiction")])
      .as("isMysteryOrFantasy")
  )
  .execute();

Web

const result = await execute(db.pipeline()
  .collection("books")
  .select(
    field("genre")
      .arrayContainsAny([constant("fantasy"), constant("nonfiction")])
      .as("isMysteryOrFantasy")
  )
);
Swift
let result = try await db.pipeline()
  .collection("books")
  .select([
    Field("genre")
      .arrayContainsAny([Constant("fantasy"), Constant("nonfiction")])
      .as("isMysteryOrFantasy")
  ])
  .execute()

Kotlin

val result = db.pipeline()
    .collection("books")
    .select(
        field("genre")
            .arrayContainsAny(listOf("fantasy", "nonfiction"))
            .alias("isMysteryOrFantasy")
    )
    .execute()

Java

Task<Pipeline.Snapshot> result = db.pipeline()
    .collection("books")
    .select(
        field("genre")
            .arrayContainsAny(Arrays.asList("fantasy", "nonfiction"))
            .alias("isMysteryOrFantasy")
    )
    .execute();
    
Python
from google.cloud.firestore_v1.pipeline_expressions import Field

result = (
    client.pipeline()
    .collection("books")
    .select(
        Field.of("genre")
        .array_contains_any(["fantasy", "nonfiction"])
        .as_("isMysteryOrFantasy")
    )
    .execute()
)
জাভা
Pipeline.Snapshot result =
    firestore
        .pipeline()
        .collection("books")
        .select(
            arrayContainsAny(field("genre"), Arrays.asList("fantasy", "nonfiction"))
                .as("isMysteryOrFantasy"))
        .execute()
        .get();
Go
snapshot := client.Pipeline().
	Collection("books").
	Select(firestore.Fields(
		firestore.ArrayContainsAny(firestore.FieldOf("genre"), []string{"fantasy", "nonfiction"}).As("isMysteryOrFantasy"),
	)).
	Execute(ctx)

ARRAY_FILTER

সিনট্যাক্স:

array_filter(array: ARRAY, predicate: (ANY) -> BOOLEAN) -> ARRAY

বিবরণ:

predicate এক্সপ্রেশন ব্যবহার করে array ফিল্টার করে, শুধুমাত্র প্রেডিকেট পূরণ করে এমন এলিমেন্ট সহ একটি নতুন অ্যারে রিটার্ন করে।

  • array-এর প্রতিটি এলিমেন্টের জন্য, predicate-এর মান নির্ণয় করা হয়। এটি true রিটার্ন করলে, এলিমেন্টটি ফলাফলে অন্তর্ভুক্ত করা হয়; অন্যথায় (এটি false বা null রিটার্ন করলে), এটি বাদ দেওয়া হয়।
  • predicate-এর মূল্যায়ন নন-বুলিয়ান বা নন-নাল ভ্যালু হিসেবে করা হলে, ফাংশনটি একটি ত্রুটি দেখায়।

উদাহরণ:

অ্যারে বিধেয় array_filter(array, predicate)
[১, ২, ৩] x -> x > 1 [২, ৩]
[১, null, ৩] x -> x > 1 [৩]
["a", "b", "c"] x -> x != "b" ["a", "c"]
[কোথায় ছিলেন?][তারপর, কোথায় ছিলেন?][এতদিন কোথায় ছিলেন?][কোথায় ছিলেন বলুন তো?][কোথায় ছিলে][কোথায় ছিলি][কোথায় ছিলি এতদিন][কোথায় ছিলে এতদিন] x -> true [কোথায় ছিলেন?][তারপর, কোথায় ছিলেন?][এতদিন কোথায় ছিলেন?][কোথায় ছিলেন বলুন তো?][কোথায় ছিলে][কোথায় ছিলি][কোথায় ছিলি এতদিন][কোথায় ছিলে এতদিন]

ARRAY_GET

সিনট্যাক্স:

array_get(array: ARRAY, index: INT64) -> ANY

বিবরণ:

array-এ 0-ভিত্তিক index-এ এলিমেন্ট ফিরিয়ে দেয়।

  • index নেগেটিভ হলে, অ্যারের শেষ থেকে এলিমেন্ট অ্যাক্সেস করা হয়, যেখানে -1 হল শেষ এলিমেন্ট।
  • array যদি ARRAY ধরনের না হয় এবং null না হয়, তাহলে সমস্যা দেখায়।
  • index সীমার বাইরে থাকলে, ফাংশনটি একটি অনুপস্থিত মান দেখায়।
  • index যদি INT64 ধরনের না হয়, তাহলে ফাংশনটি একটি সমস্যা দেখায়।

উদাহরণ:

অ্যারে ইনডেক্স array_get(array, index)
[১, ২, ৩] 0 1
[১, ২, ৩] -১ 3
[১, ২, ৩] 3 অনুপস্থিত
[১, ২, ৩] -4 অনুপস্থিত
"abc" 0 ত্রুটি
ফাঁকা 0 ফাঁকা
Array "a" ত্রুটি
Array 2.0 ত্রুটি

ARRAY_LENGTH

সিনট্যাক্স:

array_length(array: ARRAY) -> INT64

বিবরণ:

array-এ এলিমেন্টের সংখ্যা দেখায়।

উদাহরণ:

অ্যারে array_length(array)
[১, ২, ৩] 3
[কোথায় ছিলেন?][তারপর, কোথায় ছিলেন?][এতদিন কোথায় ছিলেন?][কোথায় ছিলেন বলুন তো?][কোথায় ছিলে][কোথায় ছিলি][কোথায় ছিলি এতদিন][কোথায় ছিলে এতদিন] 0
[১, ১, ১] 3
[১, ফাঁকা] 2
Node.js
const result = await db.pipeline()
  .collection("books")
  .select(field("genre").arrayLength().as("genreCount"))
  .execute();

Web

const result = await execute(db.pipeline()
  .collection("books")
  .select(field("genre").arrayLength().as("genreCount"))
);
Swift
let result = try await db.pipeline()
  .collection("books")
  .select([Field("genre").arrayLength().as("genreCount")])
  .execute()

Kotlin

val result = db.pipeline()
    .collection("books")
    .select(field("genre").arrayLength().alias("genreCount"))
    .execute()

Java

Task<Pipeline.Snapshot> result = db.pipeline()
    .collection("books")
    .select(field("genre").arrayLength().alias("genreCount"))
    .execute();
    
Python
from google.cloud.firestore_v1.pipeline_expressions import Field

result = (
    client.pipeline()
    .collection("books")
    .select(Field.of("genre").array_length().as_("genreCount"))
    .execute()
)
জাভা
Pipeline.Snapshot result =
    firestore
        .pipeline()
        .collection("books")
        .select(arrayLength(field("genre")).as("genreCount"))
        .execute()
        .get();
Go
snapshot := client.Pipeline().
	Collection("books").
	Select(firestore.Fields(
		firestore.ArrayLength(firestore.FieldOf("genre")).As("genreCount"),
	)).
	Execute(ctx)

ARRAY_REVERSE

সিনট্যাক্স:

array_reverse(array: ARRAY) -> ARRAY

বিবরণ:

প্রদত্ত array-এর বিপরীত মান দেখায়।

উদাহরণ:

অ্যারে array_reverse(array)
[১, ২, ৩] [৩, ২, ১]
"one" ["b", "a"]
[1, 2, 2, 3] [3, 2, 2, 1]
Node.js
const result = await db.pipeline()
  .collection("books")
  .select(arrayReverse(field("genre")).as("reversedGenres"))
  .execute();

Web

const result = await execute(db.pipeline()
  .collection("books")
  .select(field("genre").arrayReverse().as("reversedGenres"))
);
Swift
let result = try await db.pipeline()
  .collection("books")
  .select([Field("genre").arrayReverse().as("reversedGenres")])
  .execute()

Kotlin

val result = db.pipeline()
    .collection("books")
    .select(field("genre").arrayReverse().alias("reversedGenres"))
    .execute()
    

Java

Task<Pipeline.Snapshot> result = db.pipeline() .collection("books") .select(field("genre").arrayReverse().alias("reversedGenres")) .execute();
Python
from google.cloud.firestore_v1.pipeline_expressions import Field

result = (
    client.pipeline()
    .collection("books")
    .select(Field.of("genre").array_reverse().as_("reversedGenres"))
    .execute()
)
জাভা
Pipeline.Snapshot result =
    firestore
        .pipeline()
        .collection("books")
        .select(arrayReverse(field("genre")).as("reversedGenres"))
        .execute()
        .get();
Go
snapshot := client.Pipeline().
	Collection("books").
	Select(firestore.Fields(
		firestore.ArrayReverse(firestore.FieldOf("genre")).As("reversedGenres"),
	)).
	Execute(ctx)

ARRAY_FIRST

সিনট্যাক্স:

array_first(array: ARRAY) -> ANY

বিবরণ:

array-এর প্রথম এলিমেন্ট দেখায়। এটি array_get(array, 0)-এর সমতুল্য।

  • array খালি থাকলে, অনুপস্থিত ভ্যালু দেখায়।

উদাহরণ:

অ্যারে array_first(array)
[১, ২, ৩] 1
[কোথায় ছিলেন?][তারপর, কোথায় ছিলেন?][এতদিন কোথায় ছিলেন?][কোথায় ছিলেন বলুন তো?][কোথায় ছিলে][কোথায় ছিলি][কোথায় ছিলি এতদিন][কোথায় ছিলে এতদিন] অনুপস্থিত

ARRAY_FIRST_N

সিনট্যাক্স:

array_first_n(array: ARRAY, n: INT64) -> ARRAY

বিবরণ:

array-এর প্রথম nটি এলিমেন্ট রিটার্ন করে। এটি array_slice(array, 0, n)-এর সমতুল্য।

  • n নেগেটিভ হলে, সমস্যা পাওয়া গেছে।

উদাহরণ:

অ্যারে n array_first_n(array, n)
[১, ২, ৩, ৪, ৫] 3 [১, ২, ৩]
[১, ২] 3 [১, ২]
[১, ২, ৩] 0 [কোথায় ছিলেন?][তারপর, কোথায় ছিলেন?][এতদিন কোথায় ছিলেন?][কোথায় ছিলেন বলুন তো?][কোথায় ছিলে][কোথায় ছিলি][কোথায় ছিলি এতদিন][কোথায় ছিলে এতদিন]

ARRAY_INDEX_OF

সিনট্যাক্স:

array_index_of(array: ARRAY, value: ANY) -> INT64

বিবরণ:

array-এ value-এর প্রথম ঘটনার ০-ভিত্তিক ইন্ডেক্স ফিরিয়ে দেয়। value খুঁজে না পাওয়া গেলে -১ রিটার্ন করে।

উদাহরণ:

অ্যারে মান array_index_of(array, value)
[১, ২, ৩, ২] 2 1
[১, ২, ৩] 4 -১
[১, null, ৩] ফাঁকা 1

ARRAY_INDEX_OF_ALL

সিনট্যাক্স:

array_index_of_all(array: ARRAY, value: ANY) -> ARRAY<INT64>

বিবরণ:

array-এ value-এর সব ঘটনার ০-ভিত্তিক ইন্ডেক্স সহ অ্যারে দেখায়। value খুঁজে না পাওয়া গেলে [] দেখায়।

উদাহরণ:

অ্যারে মান array_index_of_all(array, value)
[১, ২, ৩, ২] 2 [১, ৩]
[১, ২, ৩] 4 [কোথায় ছিলেন?][তারপর, কোথায় ছিলেন?][এতদিন কোথায় ছিলেন?][কোথায় ছিলেন বলুন তো?][কোথায় ছিলে][কোথায় ছিলি][কোথায় ছিলি এতদিন][কোথায় ছিলে এতদিন]
[১, null, ৩, null] ফাঁকা [১, ৩]

ARRAY_LAST

সিনট্যাক্স:

array_last(array: ARRAY) -> ANY

বিবরণ:

array-এর শেষ এলিমেন্ট দেখায়। এটি array_get(array, -1)-এর সমতুল্য।

  • array খালি থাকলে, অনুপস্থিত ভ্যালু দেখায়।

উদাহরণ:

অ্যারে array_last(array)
[১, ২, ৩] 3
[কোথায় ছিলেন?][তারপর, কোথায় ছিলেন?][এতদিন কোথায় ছিলেন?][কোথায় ছিলেন বলুন তো?][কোথায় ছিলে][কোথায় ছিলি][কোথায় ছিলি এতদিন][কোথায় ছিলে এতদিন] অনুপস্থিত

ARRAY_LAST_N

সিনট্যাক্স:

array_last_n(array: ARRAY, n: INT64) -> ARRAY

বিবরণ:

array-এর শেষ nটি এলিমেন্ট দেখায়।

  • n নেগেটিভ হলে, সমস্যা পাওয়া গেছে।

উদাহরণ:

অ্যারে n array_last_n(array, n)
[১, ২, ৩, ৪, ৫] 3 [৩, ৪, ৫]
[১, ২] 3 [১, ২]
[১, ২, ৩] 0 [কোথায় ছিলেন?][তারপর, কোথায় ছিলেন?][এতদিন কোথায় ছিলেন?][কোথায় ছিলেন বলুন তো?][কোথায় ছিলে][কোথায় ছিলি][কোথায় ছিলি এতদিন][কোথায় ছিলে এতদিন]

ARRAY_SLICE

সিনট্যাক্স:

array_slice(array: ARRAY, offset: INT64, length: INT64) -> ARRAY

বিবরণ:

০-ভিত্তিক ইন্ডেক্স offset থেকে শুরু করে এবং length এলিমেন্ট সহ array-এর একটি সাবসেট ফিরিয়ে দেয়।

  • offset নেগেটিভ হলে, এটি অ্যারের শেষ থেকে শুরুর পজিশন নির্দেশ করে, যেখানে -1 হল শেষ এলিমেন্ট।
  • offset-এর পরে অ্যারেতে বাকি থাকা এলিমেন্টের সংখ্যার চেয়ে length বেশি হলে, ফলাফল অ্যারের শেষ পর্যন্ত বিস্তৃত হয়।
  • length অবশ্যই নেগেটিভ নয় এমন সংখ্যা হতে হবে, অন্যথায় সমস্যা পাওয়া গেছে।

উদাহরণ:

অ্যারে অফসেট দৈর্ঘ্য array_slice(array, offset, length)
[১, ২, ৩, ৪, ৫] 1 3 [২, ৩, ৪]
[১, ২, ৩, ৪, ৫] -২ 2 [৪, ৫]
[১, ২, ৩] 1 5 [২, ৩]
[১, ২, ৩] 3 2 [কোথায় ছিলেন?][তারপর, কোথায় ছিলেন?][এতদিন কোথায় ছিলেন?][কোথায় ছিলেন বলুন তো?][কোথায় ছিলে][কোথায় ছিলি][কোথায় ছিলি এতদিন][কোথায় ছিলে এতদিন]

ARRAY_TRANSFORM

সিনট্যাক্স:

array_transform(array: ARRAY, expression: (ANY) -> ANY) -> ARRAY
array_transform(array: ARRAY, expression: (ANY, INT64) -> ANY) -> ARRAY

বিবরণ:

প্রতিটি এলিমেন্টে expression প্রয়োগ করে array ট্রান্সফর্ম করে, ট্রান্সফর্ম করা এলিমেন্ট সহ নতুন অ্যারে রিটার্ন করে। আউটপুট অ্যারের সাইজ সবসময় ইনপুট অ্যারের সাইজের সমান হবে।

  • expression একটি ইউনারি ফাংশন element -> result, বা একটি বাইনারি ফাংশন (element, index) -> result হতে পারে।
  • expression ইউনারি হলে, এটি array-এর প্রতিটি এলিমেন্টের সাথে কল করা হয়।
  • expression বাইনারি হলে, এটি array-এর প্রতিটি এলিমেন্ট এবং এর সাথে সম্পর্কিত ০-ভিত্তিক ইন্ডেক্সের সাথে কল করা হয়।

উদাহরণ:

অ্যারে এক্সপ্রেশন array_transform(array, expression)
[১, ২, ৩] x -> x * ২ [২, ৪, ৬]
[১, ২, ৩] x -> x + 1 [২, ৩, ৪]
[১০, ২০] (x, i) -> x + i [১০, ২১]
[কোথায় ছিলেন?][তারপর, কোথায় ছিলেন?][এতদিন কোথায় ছিলেন?][কোথায় ছিলেন বলুন তো?][কোথায় ছিলে][কোথায় ছিলি][কোথায় ছিলি এতদিন][কোথায় ছিলে এতদিন] x -> ১ [কোথায় ছিলেন?][তারপর, কোথায় ছিলেন?][এতদিন কোথায় ছিলেন?][কোথায় ছিলেন বলুন তো?][কোথায় ছিলে][কোথায় ছিলি][কোথায় ছিলি এতদিন][কোথায় ছিলে এতদিন]

সর্বাধিক

সিনট্যাক্স:

maximum(array: ARRAY) -> ANY

বিবরণ:

array-এ সর্বাধিক মান দেখায়।

  • তুলনা করার সময় NULL ভ্যালু উপেক্ষা করা হয়।
  • array খালি থাকলে বা শুধুমাত্র NULL ভ্যালু থাকলে, NULL দেখায়।

উদাহরণ:

অ্যারে maximum(array)
[১, ৫, ২] 5
[1, null, 5] 5
["a", "c", "b"] "c"
[null, null] ফাঁকা
[কোথায় ছিলেন?][তারপর, কোথায় ছিলেন?][এতদিন কোথায় ছিলেন?][কোথায় ছিলেন বলুন তো?][কোথায় ছিলে][কোথায় ছিলি][কোথায় ছিলি এতদিন][কোথায় ছিলে এতদিন] ফাঁকা

MAXIMUM_N

সিনট্যাক্স:

maximum_n(array: ARRAY, n: INT64) -> ARRAY

বিবরণ:

array-এ n-এর সবচেয়ে বড় ভ্যালুর অ্যারে নিম্নক্রমে দেখায়।

  • NULL ভ্যালু এড়িয়ে যাওয়া হয়েছে।
  • n নেগেটিভ হলে, সমস্যা পাওয়া গেছে।

উদাহরণ:

অ্যারে n maximum_n(array, n)
[১, ৫, ২, ৪, ৩] 3 [৫, ৪, ৩]
[1, null, 5] 3 [৫, ১]

ন্যূনতম

সিনট্যাক্স:

minimum(array: ARRAY) -> ANY

বিবরণ:

array-এ সর্বনিম্ন মান দেখায়।

  • তুলনা করার সময় NULL ভ্যালু উপেক্ষা করা হয়।
  • array খালি থাকলে বা শুধুমাত্র NULL ভ্যালু থাকলে, NULL দেখায়।

উদাহরণ:

অ্যারে minimum(array)
[১, ৫, ২] 1
[৫, null, ১] 1
["a", "c", "b"] "a"
[null, null] ফাঁকা
[কোথায় ছিলেন?][তারপর, কোথায় ছিলেন?][এতদিন কোথায় ছিলেন?][কোথায় ছিলেন বলুন তো?][কোথায় ছিলে][কোথায় ছিলি][কোথায় ছিলি এতদিন][কোথায় ছিলে এতদিন] ফাঁকা

MINIMUM_N

সিনট্যাক্স:

minimum_n(array: ARRAY, n: INT64) -> ARRAY

বিবরণ:

array-এর মধ্যে n-টি সবচেয়ে ছোট ভ্যালুর অ্যারে ঊর্ধ্বক্রমে দেখায়।

  • NULL ভ্যালু এড়িয়ে যাওয়া হয়েছে।
  • n নেগেটিভ হলে, সমস্যা পাওয়া গেছে।

উদাহরণ:

অ্যারে n minimum_n(array, n)
[১, ৫, ২, ৪, ৩] 3 [১, ২, ৩]
[৫, null, ১] 3 [১, ৫]

SUM

সিনট্যাক্স:

sum(array: ARRAY) -> INT64 | FLOAT64

বিবরণ:

ARRAY-এ সব NUMERIC ভ্যালুর যোগফল দেখায়।

  • অ্যারেতে সংখ্যাসূচক নয় এমন মান উপেক্ষা করা হয়।
  • অ্যারেতে কোনও সংখ্যাসূচক মান NaN হলে, ফাংশন NaN রিটার্ন করে।
  • অ্যারেতে সবচেয়ে বড় সংখ্যাসূচক ধরন অনুযায়ী রিটার্ন টাইপ নির্ধারণ করা হয়: INT64 < FLOAT64।
  • কোনও ফ্লোটিং পয়েন্ট ভ্যালু যোগ করার আগে ৬৪-বিট ইন্টিজার ওভারফ্লো হলে, একটি সমস্যা দেখানো হয়। ফ্লোটিং পয়েন্ট ভ্যালু যোগ করা হলে, ওভারফ্লোর ফলাফল +/- ইনফিনিটি হবে।
  • অ্যারেতে কোনও সংখ্যাসূচক মান না থাকলে, ফাংশনটি NULL রিটার্ন করে।

উদাহরণ:

অ্যারে sum(array)
[১, ২, ৩] ৬ লিটার
[1L, 2L, 3L] ৬ লিটার
[2000000000, 2000000000] 4000000000L
[১০, ২০.৫] ৩০.৫
[1, "a", 2] ৩ লাখ
[INT64.MAX_VALUE, 1] ত্রুটি
[INT64.MAX_VALUE, 1, -1.0] ত্রুটি
[INT64.MAX_VALUE, 1.0] 9.223372036854776e+18

যোগদান করুন

সিনট্যাক্স:

join[T <: STRING | BYTES](array: ARRAY<T>, delimiter: T) -> STRING
join[T <: STRING | BYTES](array: ARRAY<T>, delimiter: T, null_text: T) -> STRING

বিবরণ:

array-এ থাকা এলিমেন্টকে STRING হিসেবে কনক্যাটিনেট করে দেখায়। array-এর ডেটা টাইপ STRING বা BYTES হতে পারে।

  • array, delimiter এবং null_text-এর সব এলিমেন্ট একই ধরনের হতে হবে; সেগুলি সব STRING বা সব BYTES হতে হবে।
  • null_text প্রদান করা হলে, array-এ যেকোনও NULL ভ্যালু null_text দিয়ে পরিবর্তন করা হয়।
  • null_text প্রদান করা না হলে, array-এ NULL ভ্যালু ফলাফল থেকে বাদ দেওয়া হয়।

উদাহরণ:

null_text উল্লেখ না করা থাকলে:

অ্যারে ডিলিমিটার join(array, delimiter)
["a", "b", "c"] "," "a,b,c"
["a", null, "c"] "," "a,c"
[b'a', b'b', b'c'] b',' b'a,b,c'
["a", b'c'] "," ত্রুটি
["a", "c"] b',' ত্রুটি
[b'a', b'c'] "," ত্রুটি

null_text প্রদান করা হলে:

অ্যারে ডিলিমিটার null_text join(array, delimiter, null_text)
["a", null, "c"] "," "MISSING" "a,MISSING,c"
[b'a', null, b'c'] b',' b'NULL' b'a,NULL,c'
[null, "b", null] "," "MISSING" "MISSING,b,MISSING"
[b'a', null, null] b',' b'NULL' b'a,NULL,NULL'
["a", null] "," b'N' ত্রুটি
[b'a', null] b',' "N" ত্রুটি