草庐IT

Kotlin-script

全部标签

kotlin - 如何检查 "lateinit"变量是否已初始化?

我想知道是否有办法检查lateinit变量是否已初始化。例如:classFoo(){privatelateinitvarmyFile:Filefunbar(path:String?){path?.let{myFile=File(it)}}funbar2(){myFile.whateverMethod()//MaycrashsinceIdon'tknowwhethermyFilehasbeeninitialized}} 最佳答案 在Kotlin1.2中有一个lateinit改进,允许直接检查lateinit变量的初始化状态:latei

kotlin - 如何编写三元条件运算符?

这个表达式在Kotlin中的等价物是什么?a?b:c这不是Kotlin中的有效代码。 最佳答案 在Kotlin中,if语句是表达式。所以下面的代码是等价的:if(a)belsec表达式和语句之间的区别在这里很重要。在Java/C#/JavaScript中,if形成一个语句,这意味着它不会解析为一个值。更具体地说,您不能将其分配给变量。//ValidKotlin,butinvalidJava/C#/JavaScriptvarv=if(a)belsec如果您来自一种语言,其中if是一个语句,这可能看起来不自然,但这种感觉很快就会消退。

kotlin - 如何编写三元条件运算符?

这个表达式在Kotlin中的等价物是什么?a?b:c这不是Kotlin中的有效代码。 最佳答案 在Kotlin中,if语句是表达式。所以下面的代码是等价的:if(a)belsec表达式和语句之间的区别在这里很重要。在Java/C#/JavaScript中,if形成一个语句,这意味着它不会解析为一个值。更具体地说,您不能将其分配给变量。//ValidKotlin,butinvalidJava/C#/JavaScriptvarv=if(a)belsec如果您来自一种语言,其中if是一个语句,这可能看起来不自然,但这种感觉很快就会消退。

ios - XCode 项目 : how to remove/add files from terminal (script, 命令等)

有没有办法在不使用XCode的情况下从XCode项目中删除文件或向其中添加文件?也就是说,是否有任何终端命令或程序可以做到这一点?我知道我可以执行cpmv和rm来添加/删除文件,但它们没有反射(reflect)在实际的项目文件中。谢谢! 最佳答案 有一个名为xcodeproj的RubyGem,它允许在命令行操作XCodeProject。查看UsingtheXcodeprojRubyGem它提供了将文件添加到项目的示例。#OpentheexistingXcodeprojectproject_file=product_name+'.xc

ios - Xcode Build Script (Build Phases->Run Script) Increment Build Version 基于用户名(用户)

编译项目时,当系统用户名匹配时,此脚本应将Xcode项目的构建版本递增1。请记住,这些只是Target->BuildPhases->RunScriptinXcode中脚本(不是Applescript、Python或Perl)中的Unix命令。我在终端中完成了“echo$USER”。这会很好地打印登录用户的用户名,它与我在第二个代码块的条件语句中放置的字符串相同。第一段代码有效。第二个添加了条件语句,但没有。#!/bin/bashbuildNumber=$(/usr/libexec/PlistBuddy-c"PrintCFBundleVersion""$INFOPLIST_FILE")b

Kotlin基础学习-入门篇

本篇文章来自郭霖大佬的第一行代码中的Kotlin教程,笔者只是在学习Kotlin过程中记录学习过程。Kotlin系列已更新:Kotlin基础学习-入门篇Kotlin基础学习-第二篇Kotlin进阶学习-第三篇Kotlin进阶学习-第四篇Kotlin进阶学习-第五篇文章目录kotlin的历史Kotlin的工作原理语言类型编译型解释型Java的语言类型Kotlin的运行原理创建Kotlin项目语法变量变量的声明基本类型var和val的本质区别函数函数的声明声明技巧函数的调用if语句ifwhen循环语句类和对象类的创建和对象的初始化继承构造主构造次构造无主构造接口接口的定义接口的继承权限修饰符数据类

Kotlin基础学习-入门篇

本篇文章来自郭霖大佬的第一行代码中的Kotlin教程,笔者只是在学习Kotlin过程中记录学习过程。Kotlin系列已更新:Kotlin基础学习-入门篇Kotlin基础学习-第二篇Kotlin进阶学习-第三篇Kotlin进阶学习-第四篇Kotlin进阶学习-第五篇文章目录kotlin的历史Kotlin的工作原理语言类型编译型解释型Java的语言类型Kotlin的运行原理创建Kotlin项目语法变量变量的声明基本类型var和val的本质区别函数函数的声明声明技巧函数的调用if语句ifwhen循环语句类和对象类的创建和对象的初始化继承构造主构造次构造无主构造接口接口的定义接口的继承权限修饰符数据类

sockets - 在 Kotlin 中创建 TCP 监听器

我目前正在为我正在从事的项目试用Kotlin。这个项目需要我打开一个套接字并在一个端口上监听TCP数据包,以便稍后解析它们。在Java中,如果使用缓冲区读取器、套接字和服务器套接字定义了引用的变量,则以下工作:while((CurrentLine=ClientBufferReader.readLine())!=null){FullString+=CurrentLine}但是,在Kotlin中,这是行不通的,因为无法对赋值求值。我怎样才能在Kotlin中检索相同的结果? 最佳答案 在这种特殊情况下,您可以将其重写为valFullStr

android - Kotlin addTextChangeListener lambda?

如何在Kotlin中为EditTextaddTextChangeListener构建lambda表达式?下面给出一个错误:passwordEditText.addTextChangedListener{charSequence->try{password=charSequence.toString()}catch(error:Throwable){raise(error)}} 最佳答案 addTextChangedListener()采用TextWatcher这是一个具有3个方法的接口(interface)。只有当TextWatch

android - Kotlin addTextChangeListener lambda?

如何在Kotlin中为EditTextaddTextChangeListener构建lambda表达式?下面给出一个错误:passwordEditText.addTextChangedListener{charSequence->try{password=charSequence.toString()}catch(error:Throwable){raise(error)}} 最佳答案 addTextChangedListener()采用TextWatcher这是一个具有3个方法的接口(interface)。只有当TextWatch