我对Kotlin,Ktor和Gradle很新.能够按照Ktor站点中的说明创建嵌入式服务器,使用以下代码:
BlogApp.kt:
package blog
import org.jetbrains.ktor.netty.*
import org.jetbrains.ktor.routing.*
import org.jetbrains.ktor.application.*
import org.jetbrains.ktor.features.*
import org.jetbrains.ktor.host.*
import org.jetbrains.ktor.http.*
import org.jetbrains.ktor.response.*
fun Application.module() {
install(DefaultHeaders)
install(CallLogging)
install(Routing) {
get("/") {
call.respondText("My Example Blog sfs 122", ContentType.Text.Html)
}
}
}
fun main(args: Array<String>) {
embeddedServer(Netty, 8080, watchPaths = listOf("BlogAppKt"), module = Application::module).start()
}
Run Code Online (Sandbox Code Playgroud)
和build.gradle:
group 'Example'
version '1.0-SNAPSHOT'
buildscript {
ext.kotlin_version = '1.1.4-3'
repositories {
mavenCentral()
}
dependencies {
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
}
}
apply plugin: 'java'
apply plugin: 'kotlin'
sourceCompatibility = …Run Code Online (Sandbox Code Playgroud) 我是新来Kotlin和Ktor我一起以下工作细如启动,现在我需要增加更多的Routes我怎么可以分割在多个文件的路径?
package blog
import org.jetbrains.ktor.netty.*
import org.jetbrains.ktor.routing.*
import org.jetbrains.ktor.application.*
import org.jetbrains.ktor.features.*
import org.jetbrains.ktor.host.*
import org.jetbrains.ktor.http.*
import org.jetbrains.ktor.response.*
import org.jetbrains.ktor.request.* // for recieve
import org.jetbrains.ktor.util.* // for ValuesMap
import org.apache.commons.mail.*
fun Application.module() {
install(DefaultHeaders)
install(CallLogging)
install(Routing) {
get("/") {
call.respondText("""
My Example Blog2
<form action="/contact-us" method="post">
<input name="subject" placeholder="Subject">
<br>
<textarea name="message" placeholder="Your message ..."></textarea>
<br>
<button>Submit</button>
</form>
""", ContentType.Text.Html)
}
post("/contact-us") {
val post = call.receive<ValuesMap>()
SimpleEmail().apply {
setHostName("smtp.gmail.com")
setSmtpPort(465)
setAuthenticator(DefaultAuthenticator("my_alias@gmail.com", "my_gmil_passoword"))
setSSLOnConnect(true)
setFrom("my_alias@gmail.com") …Run Code Online (Sandbox Code Playgroud) 我正在尝试测试VoidCallback所以我创建了主文件,该文件具有从小部件中的平面按钮调用的函数,该函数位于单独的文件中,但不起作用。
main.dart
import 'package:flutter/material.dart';
import 'controller_test.dart';
void main() => runApp(MyApp());
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'Retrieve Text Input',
home: MyCustomForm(),
);
}
}
// Define a Custom Form Widget
class MyCustomForm extends StatefulWidget {
@override
_MyCustomFormState createState() => _MyCustomFormState();
}
class _MyCustomFormState extends State<MyCustomForm> {
final myController = TextEditingController();
@override
void initState() {
super.initState();
myController.addListener(_printLatestValue);
}
_printLatestValue() {
print("Second text field: ${myController.text}");
}
_test() {
print("hi there");
}
@override
Widget …Run Code Online (Sandbox Code Playgroud) 我有下面的模型,其中包括date和time领域
import androidx.room.Entity
import androidx.room.PrimaryKey
import java.time.LocalDate
import java.time.LocalTime
@Entity
data class Assignment(
@PrimaryKey(autoGenerate = true) val tid: Int,
// @PrimaryKey val uid: Int,
@ColumnInfo(name = "id") val id: Int,
@ColumnInfo(name = "task") val task: String?,
@ColumnInfo(name = "address") val address: String?,
@ColumnInfo(name = "datePicker") val datePicker: LocalDate?,
@ColumnInfo(name = "timePicker") val timePicker: LocalTime?,
@ColumnInfo(name = "status") val status: String?
)
Run Code Online (Sandbox Code Playgroud)
但我收到以下错误:
无法弄清楚如何将此字段保存到数据库中。您可以考虑为其添加类型转换器。
所以,我写了下面的转换器:
import java.sql.Date
import java.time.LocalDate
import javax.persistence.AttributeConverter
import javax.persistence.Converter
import java.time.ZoneId.systemDefault
@Converter(autoApply = …Run Code Online (Sandbox Code Playgroud) 我读过这篇文章,但它与我的情况不同,我有以下代码:
package main
import (
"bytes"
"fmt"
"reflect"
"strconv"
"strings"
)
type User struct {
Name string `name`
Age int64 `age`
}
func main() {
var u User = User{"bob", 10}
res, err := JSONEncode(u)
if err != nil {
panic(err)
}
fmt.Println(string(res))
}
func JSONEncode(v interface{}) ([]byte, error) {
refObjVal := reflect.ValueOf(v)
refObjTyp := reflect.TypeOf(v)
buf := bytes.Buffer{}
if refObjVal.Kind() != reflect.Struct {
return buf.Bytes(), fmt.Errorf(
"val of kind %s is not supported",
refObjVal.Kind(),
)
}
buf.WriteString("{") …Run Code Online (Sandbox Code Playgroud) 通过创建如下界面,我能够在TypeScript中运行SpeechRecognition,并且工作正常:
namespace CORE{
export interface IWindow extends Window{
webkitSpeechRecognition: any;
}
}
Run Code Online (Sandbox Code Playgroud)
我尝试对SpeechSynthesis使用相同的方式,但是在字段中,以下代码不起作用:
namespace CORE{
export interface IWindow extends Window{
SpeechSynthesisUtterance: any;
speechSynthesis: any;
}
}
Run Code Online (Sandbox Code Playgroud)
我的问题是:
SpeechRecognitionTypeScript的最佳实践,还是有更好的方法。
SpeechSynthesis在TypeScript中使用。供参考,以下是我的工作代码SpeechRecognition:
namespace CORE{
export interface IWindow extends Window{
webkitSpeechRecognition: any;
}
}
namespace CORE{
export class speakRecognation{
// spoken:string;
constructor(input:HTMLInputElement){
var audio = new Audio('/sounds/sound.mp3');
//Voice recognition
const {webkitSpeechRecognition}: IWindow = <IWindow>window;
const recognition = new webkitSpeechRecognition();
recognition.continuous = false;
recognition.interimResults = true;
input.addEventListener("click", function(){ …Run Code Online (Sandbox Code Playgroud) I'm trying to test the HTML Application, my build.gradle dependencies are:
dependencies {
compile "org.jetbrains.kotlin:kotlin-stdlib-jre8:$kotlin_version"
compile "org.jetbrains.ktor:ktor-core:$ktor_version"
compile 'org.jetbrains.kotlinx:kotlinx-html:0.6.4'
compile "org.jetbrains.ktor:ktor-netty:$ktor_version"
compile "org.apache.commons:commons-email:1.4"
compile "org.slf4j:slf4j-simple:1.7.25"
compile "ch.qos.logback:logback-classic:1.2.1"
testCompile group: 'junit', name: 'junit', version: '4.12'
}
Run Code Online (Sandbox Code Playgroud)
I got the below error while running gradle build:
Could not find org.jetbrains.kotlinx:kotlinx-html:0.6.4
what is the error here?
在学习F#和阅读此页,我发现这个代码:
type MyGenericClass<'a> (x: 'a) =
do printfn "%A" x
Run Code Online (Sandbox Code Playgroud)
我不理解它的含义'a是否与任何lifetime概念相关rust或完全不同?
我有这两个清单:
val forecast = listOf(30, 21, 29, 31, 40, 48, 53, 47, 37, 39, 31, 29)
val actual = listOf(27, 31, 27, 26, 21, 13, 21, 18, 33, 35, 40, 36)
Run Code Online (Sandbox Code Playgroud)
并且需要计算每个月的预测误差,这是forecast-actual我尝试过以下内容:
var errors: MutableList<Double> = mutableListOf<Double>()
actual
.forEachIndexed { index, d -> forecast[index] - d}
.let { i -> errors.add(i) }
Run Code Online (Sandbox Code Playgroud)
但没有奏效,因为i结果forEachIndexed是Unit不是Double:(
交叉引用Rust 论坛,我正在生成一个HashMap,就像在这个操场/下面的代码中一样。如何map根据 对生成的结果进行排序keys,在我的情况下是基于Dimension, Location:
use std::collections::HashMap;
#[derive(Debug, Eq, PartialEq, Hash, Clone)]
struct Dimension {
item: String,
color: String,
size: String,
part_number: String
}
#[derive(Debug)]
struct Delivery {
variant: Dimension,
location: String,
quantity: i32,
}
pub fn main() {
let data = vec![
Delivery {
variant: Dimension {item: String::from("A"),
color: String::from("B"),
size: String::from("C"),
part_number: String::from("D")},
location: String::from("L"),
quantity: 10,
},
Delivery {
variant: Dimension {item: String::from("A"),
color: String::from("B"),
size: …Run Code Online (Sandbox Code Playgroud) kotlin ×5
ktor ×3
gradle ×2
android ×1
android-room ×1
dart ×1
f# ×1
flutter ×1
go ×1
java ×1
kotlinx-html ×1
reflection ×1
rust ×1
struct ×1
typescript ×1