- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在许多编程语言中,父类可以要求任何子类包含特定字段。
如果字段是静态的,在 Julia 中可以通过以下方式实现相同的效果。
julia> abstract Fruit
julia> type Apple <: Fruit end
julia> type Orange <: Fruit end
julia> type Banana <: Fruit end
julia> color(::Apple) = :red
color (generic function with 1 method)
julia> color(::Orange) = :orange
color (generic function with 2 methods)
julia> color(::Banana) = :yellow
color (generic function with 3 methods)
Pet
的任何子类型包含字段
name
.
julia> abstract Pet
julia> type Cat <: Pet
name::String
hairless::Bool
end
julia> type Dog <: Pet
name::String
end
julia> abstract Bird <: Pet
julia> type Parrot <: Bird
name::String
color::Symbol
end
julia> type Conure <: Bird
name::String
end
julia> feet(::Cat) = 4
feet (generic function with 1 method)
julia> feet(::Dog) = 4
feet (generic function with 2 methods)
julia> feet(::Bird) = 2
feet (generic function with 3 methods)
name
任何子类型中的字段,但如果我必须,就这样吧。 最佳答案
我如何强制执行?
有测试
using Base.Test
@testset "Field Contract" begin
for sub in subtypes(Pet)
@test fieldtype(sub, :name) == String
#will error if no field names string.
#will fail if it is has wrong type
end
end
macro declare_abstract(typename, fields...)
quote
abstract $(esc(typename))
const $(esc(Symbol(:__abfields_,typename))) = $(esc(fields))
$(esc(typename))
end
end
error("Please don't use this in real code") #prevent trivial copy paste
macro declare(type_expr)
@assert type_expr.head == :type
@assert type_expr.args[2].head == :(<:)
parent_typename::Symbol = type_expr.args[2].args[2]
if isdefined(Symbol(:__abfields_, parent_typename))
@assert type_expr.args[3].head == :block
abfields = eval(Symbol(:__abfields_, parent_typename)) #Read a globel constant. Iffy practice right here -- using eval in a macro
push!(type_expr.args[3].args, abfields[1].args...)
end
type_expr
end
@declare_abstract Pet (name::String), (owner_id::Int)
@declare type Cat <: Pet
end
?Cat
...
Summary:
type Cat <: Pet
Fields:
name :: String
owner_id :: Int64
Bees
它们没有名称字段,因为它们没有名称。
hive
字段,但它是
Int
.
get_identifier
方法
get_identifier(x::Union{Dog,Cat})=x.name
Bee
的兼容性类型
get_identifier(x::Bee)="Member of hive# $(x.hive)"
.
x.name
在你的代码中到处都是,那么它就会全部中断。
AbstractResults
,我解决的每种类型的问题都有自己的具体子类型,用于存储此类结果的特殊因素;然后我知道我家只有 5 种可能的问题。
AbstractResults
只有 5 个具体的子类型。 ,
using Base.Test
@testset "Method Contract" begin
for sub in subtypes(Pet)
@test method_exists(get_identifier, (sub,))
end
end
关于types - 什么是 Julian 替代属性继承?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42641243/
我正在尝试将 Julian 时间戳转换为日期时间。我有以下微秒时间戳 212302469304212709。据我所知,我需要将这些毫秒添加到儒略历的开头(公元前 4713 年 1 月 1 日,12:0
我在电子表格中有一个单元格,它是 Excel 中的日期对象,但当它从 C1 的 xls 类中出来时变成 double (类似于 39820.0 代表 1/7/2009)。我读到这是 Julian 日期
以下算法: 京东1099114.5 PHP:3 Mar -1704 12:00:00(PHP 内部转换器) echo jdtogregorian($int_jd); FLN:0 Mar -1703 1
考虑如下数组: [1,4,5,9] 目标是复制每个值并将其附加到 Julia 中的副本旁边,因此: [1,1,4,4,5,5,9,9] 是否有一种巧妙的“朱利安”方式来避免 for 循环? 最佳答案
我在 SQL 中完成了一个查询,它将我们输入的数字转换为 word 格式查询是 select to_char(to_date(&num,'J'),'JSP') from dual; TO_CHAR(
我正在尝试将 Julian 日期字符串转换为 DateTime,但网络上的所有解决方案似乎都不起作用。我有一个 Julian 日期字符串 13324。 Julian Date: 13324 我想获得以
我在 SQL 中完成了一个查询,它将我们输入的数字转换为 word 格式查询是 select to_char(to_date(&num,'J'),'JSP') from dual; TO_CHAR(
我正在尝试将 Julian 日期字符串转换为 DateTime,但网络上的所有解决方案似乎都不起作用。我有一个 Julian 日期字符串 13324。 Julian Date: 13324 我想获得以
在许多编程语言中,父类可以要求任何子类包含特定字段。 如果字段是静态的,在 Julia 中可以通过以下方式实现相同的效果。 julia> abstract Fruit julia> type Appl
我在 pandas DF 中有一个带有 Julian 日期的日期列。如何将这些 Julian 日期转换为 mm-dd-yyyy 格式。 示例数据 ORG CHAIN_NBR SEQ_N
如何将 7 位儒略日期转换为类似 MM/dd/yyy 的格式? 最佳答案 找到一个有用的网站:http://www.rgagnon.com/javadetails/java-0506.html 这应该
我需要在javascript中计算jday以便进行客户端验证,有人可以帮我如何在javascript或脚本中计算JDAY来将给定的JDAY更改为实际日期,反之亦然。 要知道JDay是什么,我发现了以下
我有一个字符串作为 Julian 日期,例如 "16152" 表示 2016 年的第 152 天或 "15234" 表示 2015 年的第 234 天。 如何使用 Python 3 标准库将这些 Ju
如何将 7 位儒略日期 (2016092) 转换为常规日历日期 (MM-DD-YYYY)? 我正在考虑取最后三位数字并将其转换为常规日期,然后将前四位数字附加为年份,但我必须考虑闰年。 预期输出:04
我正在使用 pandas 数据框,并且有一个包含儒略日期的 DATE 列。我想将该列的每个值都转换为公历日期。 为此,我使用了以下代码: df[['DATE']] = df[['DATE']].app
我得到了一个简单的儒略日期计算器,代码如下: DateTime date = DateTime.UtcNow; int month = date.Month > 2 ? date.Month : da
我需要编写一个函数,将儒略日期(年、年中的第几天、一天中的小时和分钟)转换为标准形式(年、月、月中的日期、一天中的小时和分钟)并将其表示为一个字符串。我想肯定有人已经编写了一个库或组件,可以将年中的日
我维护一个 PHP/Flash 应用程序,该应用程序在代码中使用 Julian 日期并且仅转换为 Gregorian 以供显示。在我用 Date 数据类型替换整数 Julian 日期之前,我想知道使用
我最近访问了一个遗留数据库,其中所有日期都以我无法翻译的陌生格式存储,我最初的研究让我认为这是 Julian 日期类型,但它似乎有点偏离? 谢天谢地,有一个日期列有一个正常的对应项,但还有很多其他日期
我必须随时间从 Julian 值转换为常规日期。 Select to_char(to_date(2455198, 'J'), 'DD-MM-YYYY HH:mm:ss') from dual; 此查询
我是一名优秀的程序员,十分优秀!