какова функция метода раз в kotlin? - PullRequest
1 голос
/ 29 мая 2020

Я новичок в мире программирования и работаю над перегрузкой операторов, я хотел бы, чтобы вы объяснили мне, какую функцию выполняет метод times в этом упражнении.

class Vector {
    val arreglo = IntArray(5)

    fun cargar() {
        for (i in arreglo.indices)
            arreglo[i] = (Math.random() * 11 + 1).toInt()
    }

    fun imprimir() {
        for (elemento in arreglo)
            print("$elemento ")
        println()
    }

    operator fun times(valor: Int): Vector {
        var suma = Vector()
        for (i in arreglo.indices)
            suma.arreglo[i] = arreglo[i] * valor
        return suma
    }
}

fun main(args: Array<String>) {
    val vec1 = Vector()
    vec1.cargar()
    vec1.imprimir()
    println("El producto de un vector con el número 10 es")
    val vecProductoEnt = vec1 * 10
    vecProductoEnt.imprimir()
}

Ответы [ 2 ]

3 голосов
/ 29 мая 2020

Время функции перегружает время оператора (*) и позволяет вам написать выражение vec1 * 10, чтобы умножить каждый элемент вектора на 10.

2 голосов
/ 29 мая 2020
operator fun times(valor: Int): Vector 

это функция, вызываемая в этой строке val vecProductoEnt = vec1 * 10.

вы можете прочитать об этом здесь

...