小编Mac*_*eks的帖子

分阶段编程 - Jake Bolewski的演讲

版本:从Julia v0.4开始(我使用0.5.0-dev + 433(2015-09-29 15:39 UTC))

参考:Jake Bolewski:朱莉娅的分阶段编程

问题:在看了Jakes Bolewski关于StaticVec我的演讲之后,我没有抓住length功能背后的想法.

julia> type StaticVec{T,N}
        vals::Vector{T}
       end

julia> StaticVec(T,vals...) = StaticVec{T,length(vals)}([vals...])
StaticVec{T,N}

julia> v= StaticVec(Float64,1,2,3)
StaticVec{Float64,3}([1.0,2.0,3.0])
Run Code Online (Sandbox Code Playgroud)

非上演length:

julia> function Base.length{T,N}(v::StaticVec{T,N}) 
        N
       end
length (generic function with 58 methods)

julia> code_llvm(length, (StaticVec{Float64,3},))

define i64 @julia_length_21889(%jl_value_t*) {
top:
  ret i64 3
}
Run Code Online (Sandbox Code Playgroud)

和分阶段length版本

julia> @generated function Base.length{T,N}(v::StaticVec{T,N}) 
        :(N)
       end
length (generic function with 58 methods)

julia> code_llvm(length, (StaticVec{Float64,3},))

define i64 @julia_length_21888(%jl_value_t*) { …
Run Code Online (Sandbox Code Playgroud)

julia

7
推荐指数
1
解决办法
256
查看次数

Jul的R表功能(用于DataFrames)

朱莉娅有像R的桌面功能吗?我读过xtab,但不知道如何使用它.

假设我们具有R的data.frame rdatacol6是的Factor类型.

R示例代码:

rdata <- read.csv("mycsv.csv") #1 table(rdata$col6) #2

为了在Julia中读取数据和制作因子,我这样做:

using DataFrames jldata = readtable("mycsv.csv", makefactors=true) #1 :col6 will be now pooled.

...,但是如何在julia中构建R表(如何实现#2)?

dataframe julia

5
推荐指数
3
解决办法
1319
查看次数

矩阵中每行的最大值列

考虑矩阵:

M = [1.0 2.0 3.0; 5.0 4.0 3.0; 1.0 100.0 12.0]
Run Code Online (Sandbox Code Playgroud)

我想获得每行中最大值的列.所以它应该是:

col = [3; 1; 2] 
Run Code Online (Sandbox Code Playgroud)

从那以后

M[1,3] -> 3.0;
M[2,1] -> 5.0;
M[3,2] -> 100.00;
Run Code Online (Sandbox Code Playgroud)

在Octave中很容易实现:

[max, col] = max(M,[],2)
Run Code Online (Sandbox Code Playgroud)

,其中col = [3; 2; 1].

在Julia中,我只能找到findmax返回每行最大元素的绝对索引的函数.所以它会是:

max, aindx = findmax(M,2)
Run Code Online (Sandbox Code Playgroud)

,其中aindx = [7,2,6]

M [7] = 3.0; M [2] = 5.0; M [6] = 100;

哪里可以找到Julia maxivelent for Octave max(M,[],2)?

我目前的解决方法:

max, aindx = findmax(M, 2);
msize=size(M);
col = zeros(msize[1], 1);
for i=1:msize[1] 
  _, col[i] …
Run Code Online (Sandbox Code Playgroud)

julia

4
推荐指数
1
解决办法
1332
查看次数

具有映射类型的代理

我浏览了TS 手册,然后来到了映射类型。有一个代码片段可以将对象属性包装到代理中。

type Proxy<T> = {
    get(): T;
    set(value: T): void;
}
type Proxify<T> = {
    [P in keyof T]: Proxy<T[P]>;
}
function proxify<T>(o: T): Proxify<T> {
   // ... wrap proxies ...
}
let proxyProps = proxify(props);
Run Code Online (Sandbox Code Playgroud)

我试图用我的实现来填补proxify函数中的空白,我得到了这样的东西:

function proxify<T>(t: T): Proxify<T> {
    let result = <Proxify<T>>{};
    for (const k in t) {
      result[k] = {    //(*) from that moment I lose strong typing  
        get: () => t[k],
        set: (value) => t[k] = value …
Run Code Online (Sandbox Code Playgroud)

type-alias typescript mapped-types

2
推荐指数
1
解决办法
1030
查看次数

标签 统计

julia ×3

dataframe ×1

mapped-types ×1

type-alias ×1

typescript ×1