Котлин все таки не скриптовый язык, поэтому такой проблемы нет. А если хочется написать в одну строку, то можно оставить одну точку с запятой: val p1 = Point(); val p2 = Point(1, 2)
Я активно занимаюсь разработкой на Kotlin, а на C# писал только в универе, когда заставляли использовать именно этот язык. Есть ли что-то подобное котлиновским делегатам в C#?
Пример из котлина
fun main() {
val remoteSource = RemoteSourceImpl()
remoteSource.name = "NameStub"
println("Address: ${remoteSource.address}")
}
interface RemoteSource {
fun get(key: String): String
fun set(key: String, value: String)
}
class RemoteValue(
private val key: String
) : ReadWriteProperty<RemoteSource, String> {
override fun getValue(thisRef: RemoteSource, property: KProperty<*>) =
thisRef.get(key)
override fun setValue(thisRef: RemoteSource, property: KProperty<*>, value: String) =
thisRef.set(key, value)
}
class RemoteSourceImpl : RemoteSource {
var name by RemoteValue("name")
var address by RemoteValue("address")
override fun get(key: String) =
"Value for key $key from remote destination"
override fun set(key: String, value: String) {
//Saving value $value for key $key
}
}
А мне понравились алгоритмические задачки в яндексе. Первым делом в голову приходит простой алгоритм с большой сложностью. А потом при помощи подсказок собеседующего и всяких хитростей он доводится до сложного, но с малой сложностью. Но у меня, конечно, таких задачек было штуки 4 на двух собеседованиях. На остальных проверяли уже не алгоритмы.
Хожу за водой в уличный автоматизированный киоск. Набираю там несколько пятилитровок, киоск наливает 5 литров и ждет смены бутылки. Иногда, если очень быстро сменить заполненную бутылку на пустую, то он не успевает это заметить и ждет, когда я поменяю бутылку. Приходится пустую бутылку доставать и снова ставить.
В статье не описано отношение других коллег к Л. Если он был так плох, то общее отношение к нему команды сделало бы свое дело. А если им был недоволен только автор, то, возможно, дело в авторе.
Тут нельзя сказать наверняка, что будет выгоднее, без конкретики, т.к. использование директ экструдера уменьшает длину необходимого отката, что уменьшает его время, что положительна сказывается на общем времени печатании модели. Дмитрий Соркин, для последнего медведя рекомендует директ экструдер. https://youtu.be/thyWvSqfDgw
Могу рассказать свою историю. Полтора года назад купил FlyingBear Ghost 4. За ~20000 рублей, это получается примерно 260 долларов. На этот принтер обзор не делал только ленивый.
В качестве необходимой доработки напечатал новое сопло для обдува детали при печати (В нынешней версии принтера FlyingBear Ghost 5 обдув хороший из коробки). И несколько месяцев заменил драйвера осей X и Y на тихие (старые драйвера сгорели после залития принтера водой). Это исправило незначительный дефект печати (в простонародье называемый "лососевая кожа") и сильно снизило шум при печати. Впрочем для меня это все было не критично.
Большинство доработок принтера у пользователей как раз связано с повышением скорости печати (на маленькой скорости почти все принтеры печатают хорошо). Для этого печатают натяжители ремней и переносят подающий пластик двигатель на печатающую головку.
Скорость в ущерб качеству можно увеличить следующими способами:
увеличить ускорения и рывки
Увеличить сопло (например 0.6мм, 0.8мм или даже 1мм)
Увеличить толщину слоя со стандартных 0.2мм до 0.6мм (Но нужно помнить, что толщина слоя должна быть в пределах от 0.25*D до 0.75D, где D это диаметр сопла)
Уменьшить количество линий в стенки модели
Уменьшить процент заполнения
С помощью этих методов можно в десятки раз увеличить скорость печати. А при печати финальной модели можно и не торопиться.
В котлине можно написать маленький экстеншен
И складывать лямбды по всему проекту
Котлин все таки не скриптовый язык, поэтому такой проблемы нет. А если хочется написать в одну строку, то можно оставить одну точку с запятой:
val p1 = Point(); val p2 = Point(1, 2)
А в чем практическое различие? В котлине лямбды и ссылки на методы взаимозаменяемые:
В котлине подобное можно сделать через корутины и Flow. А с помощью перегрузки операторов можно даже и синтаксис
+=
использоватьНу разве код
onClickEvent += { println("onClick") }
не более выразительный, чем делегаты?В котлине не длиннее:
Даже короче, за счет отсутствия точки с запятой
Это ведь просто лямбды. В котлине ведь это другое. В котлине делегат это способ вынести логику свойства объекта в отдельный класс.
В данном конкретном случае код с делегатом получился запутанней и длиннее. Но он позволяет удобно разносить логику по классам
Подскажите пожалуйста, как это можно загуглить?
.
Я активно занимаюсь разработкой на Kotlin, а на C# писал только в универе, когда заставляли использовать именно этот язык. Есть ли что-то подобное котлиновским делегатам в C#?
Для слоеного теста актуально
А мне больше зашел ZenCAD. Главным образом потому, что используется полноценный язык программирования Python
Тут нельзя сказать наверняка, что будет выгоднее, без конкретики, т.к. использование директ экструдера уменьшает длину необходимого отката, что уменьшает его время, что положительна сказывается на общем времени печатании модели. Дмитрий Соркин, для последнего медведя рекомендует директ экструдер. https://youtu.be/thyWvSqfDgw
Могу рассказать свою историю. Полтора года назад купил FlyingBear Ghost 4. За ~20000 рублей, это получается примерно 260 долларов. На этот принтер обзор не делал только ленивый.
В качестве необходимой доработки напечатал новое сопло для обдува детали при печати (В нынешней версии принтера FlyingBear Ghost 5 обдув хороший из коробки). И несколько месяцев заменил драйвера осей X и Y на тихие (старые драйвера сгорели после залития принтера водой). Это исправило незначительный дефект печати (в простонародье называемый "лососевая кожа") и сильно снизило шум при печати. Впрочем для меня это все было не критично.
Большинство доработок принтера у пользователей как раз связано с повышением скорости печати (на маленькой скорости почти все принтеры печатают хорошо). Для этого печатают натяжители ремней и переносят подающий пластик двигатель на печатающую головку.
Скорость в ущерб качеству можно увеличить следующими способами:
С помощью этих методов можно в десятки раз увеличить скорость печати. А при печати финальной модели можно и не торопиться.
Что печатал:
Свобода — это рабство
Мне кажется, что Kotlin стоит изучать в родной для него среде — IntelliJ IDEA