Create a gist now

Instantly share code, notes, and snippets.

Embed
What would you like to do?
val original = "abc"
// مقدار دچار تغییر میشه و به قسمت بعدی زنجیره منتقل میشه
original.let {
println("The original String is $it") // "abc"
it.reversed() // دچار تغییر میشه و به عنوان پارامتر به قسمت بعدی زنجیره فرستاده میشه
}.let {
println("The reverse String is $it") // "cba"
it.length // همونطور که میبینید میتونه به نوع دیگری تبدیل بشه
}.let {
println("The length of the String is $it") // 3
}
// روش نادرست استفاده از این حلقه
// توی هر قسمت از زنجیره از یک مقدار یکسان استفاده میشه
original.also {
println("The original String is $it") // "abc"
it.reversed() // حتی اگه دچار تغیر بشه نمیشه اون رو توی قسمت بعدی زنجیره استفاده کرد
}.also {
println("The reverse String is ${it}") // "abc"
it.length // حتی اگه دچار تغیر بشه نمیشه اون رو توی قسمت بعدی زنجیره استفاده کرد}.also {
println("The length of the String is ${it}") // "abc"
}
// روش درست جایگزین قبلی
original.also {
println("The original String is $it") // "abc"
}.also {
println("The reverse String is ${it.reversed()}") // "cba"
}.also {
println("The length of the String is ${it.length}") // 3
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment