我有一节课:
public class Person {
public string FirstName { get; set; }
public string LastName { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
我有两个Person实例(person1和person2).我想将person2的内容复制到person1.我想在一个指令中制作此副本,而不是按属性制作属性:
person1.LastName = person2.LastName;
Run Code Online (Sandbox Code Playgroud)
在doc中,我看到将对象复制到另一个对象但类型不同.如何在类型相同时复制对象?
为什么这个代码输出02在java-8中但o2在java-9或更高版本中输出?
"o2".replaceAll("([oO])([^[0-9-]])", "0$2")
Run Code Online (Sandbox Code Playgroud) 我正在尝试在Workbench中对类似的东西进行建模,但我不知道在哪里设置"ON UPDATE"部分.我能得到的最好的是以下内容:
-- -----------------------------------------------------
-- Table `foo`.`test`
-- -----------------------------------------------------
DROP TABLE IF EXISTS `foo`.`test` ;
CREATE TABLE IF NOT EXISTS `foo`.`test` (
`test_id` INT NOT NULL ,
`date_created` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ,
`date_updated` TIMESTAMP NOT NULL DEFAULT 0 ,
PRIMARY KEY (`test_id`) )
ENGINE = InnoDB;
Run Code Online (Sandbox Code Playgroud)
我在哪里进入Workbench来设置这个ON UPDATE部分?
另外,我有一个规则,即存储在数据库中的所有时间戳都应该是UTC.如何让CURRENT_TIMESTAMP,NOW等成为UTC?
我只是从https://www.jetbrains.com/下载Clion,因为我喜欢他们的其他产品.
但是我有正确配置它的问题,请注意我尝试的事实我无法编译并运行我的应用程序(简单的hello world one)
当我尝试运行应用程序时,它引用我"编辑配置",所以我添加了新的应用程序,现在是一个问题.
其他配置看起来不是必需的.
我的CMakeList.txt看起来像:
cmake_minimum_required(VERSION 3.3)
project(test)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
set(SOURCE_FILES test.c test.h)
add_executable(test ${SOURCE_FILES})
Run Code Online (Sandbox Code Playgroud)
我尝试用"所有目标"运行它,也尝试setupt可执行文件.一切,但我无法使它工作.
在这里有谁有过这个问题,可以提供建议吗?谢谢
它说,在浏览器控制台中执行它SyntaxError: Unexpected token **.在节点中尝试:
> -1**2
...
...
...
...^C
Run Code Online (Sandbox Code Playgroud)
我认为这是一个算术表达式,其中**是幂运算符.其他运营商没有这样的问题.
奇怪的是,*/在第二行输入会触发执行:
> -1**2
... */
-1**2
^^
SyntaxError: Unexpected token **
Run Code Online (Sandbox Code Playgroud)
这里发生了什么?
我正在阅读Java语言规范中的浮点NaN值(我很无聊).32位float具有此位格式:
seee eeee emmm mmmm mmmm mmmm mmmm mmmm
Run Code Online (Sandbox Code Playgroud)
s是符号位,e是指数位,m是尾数位.NaN值被编码为所有1的指数,并且尾数位不是全0(其将是+/-无穷大).这意味着存在许多不同的可能NaN值(具有不同的s和m位值).
在此,JLS§4.2.3说:
IEEE 754为其单浮点格式和双浮点格式提供了多个不同的NaN值.虽然每个硬件架构在生成新的NaN时返回NaN的特定位模式,但是程序员也可以创建具有不同位模式的NaN以编码例如回顾性诊断信息.
JLS中的文本似乎意味着,例如,结果0.0/0.0具有依赖于硬件的位模式,并且取决于该表达式是否被计算为编译时常量,它依赖的硬件可能是硬件编译Java程序或运行程序的硬件.如果这是真的,这一切似乎都很脆弱.
我运行了以下测试:
System.out.println(Integer.toHexString(Float.floatToRawIntBits(0.0f/0.0f)));
System.out.println(Integer.toHexString(Float.floatToRawIntBits(Float.NaN)));
System.out.println(Long.toHexString(Double.doubleToRawLongBits(0.0d/0.0d)));
System.out.println(Long.toHexString(Double.doubleToRawLongBits(Double.NaN)));
Run Code Online (Sandbox Code Playgroud)
我机器上的输出是:
7fc00000
7fc00000
7ff8000000000000
7ff8000000000000
Run Code Online (Sandbox Code Playgroud)
输出显示没有超出预期.指数位都是1.尾数的高位也是1,对于NaN,它显然表示"安静的NaN"而不是"信号NaN"(https://en.wikipedia.org/wiki/NaN# Floating_point).符号位和尾数位的其余部分为0.输出还显示我的机器上生成的NaN与Float和Double类的常量NaN之间没有差异.
我的问题是,无论编译器或虚拟机的CPU是什么,在Java中都能保证输出,还是真的无法预测?JLS对此很神秘.
如果保证输出0.0/0.0,是否有任何算法生成具有其他(可能依赖于硬件?)位模式的NaN?(我知道intBitsToFloat/ longBitsToDouble可以编码其他NaN,但我想知道其他值是否可以从正常算术中发生.)
后续要点:我注意到Float.NaN和Double.NaN指定了它们的确切位模式,但是在源(Float,Double)中它们是由它们生成的0.0/0.0.如果该划分的结果实际上取决于编译器的硬件,那么在规范或实现中似乎存在缺陷.
我一直在使用这篇文章中描述的方法来设置IPython笔记本,以便与Django很好地配合.该方法的要点是创建一个IPython扩展,它设置DJANGO_SETTINGS_MODULE并在IPython启动时运行django.setup().
扩展的代码是:
def load_ipython_extension(ipython):
# The `ipython` argument is the currently active `InteractiveShell`
# instance, which can be used in any way. This allows you to register
# new magics or aliases, for example.
try:
import os
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "settings")
import django
django.setup()
except ImportError:
pass
Run Code Online (Sandbox Code Playgroud)
随着最近升级到Jupyter笔记本电脑,这个设置现在已经打破了.我可以通过在笔记本的第一个单元格中添加类似的代码来在Jupyter笔记本中运行Django代码.但是,我无法弄清楚如何让Jupyter自动运行扩展程序,因此我不必为我正在创建的每个笔记本再次执行此操作.
我该怎么办才能让Django和Jupyter玩得很好?
更新: 对于@DarkLight - 我使用Django 1.8.5与Jupyter 1.0.0.我在笔记本中运行的代码是:
import os, sys
sys.path.insert(0, '/path/to/project')
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "settingsfile")
import django
django.setup()
Run Code Online (Sandbox Code Playgroud) 我通过运行sudo apt-get install phpymyadmin然后运行来安装它
sudo ln -s /usr/share/phpmyadmin/ /usr/share/nginx/html 和 sudo service nginx restart
但它不起作用.
注意:安装时我没有选择任何apache2或lighttpd选项.
我没有在文档中找到为所有http请求设置基本API URL的方法.是否可以使用Angular HttpClient?