`
myten
  • 浏览: 131802 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论
文章列表
面向对象,耳熟能详。Julia也算是面向对象的,那么今天说说痛点----类型。 像java允许有父类,抽象类,并且类里边可以定义方法,写起代码来不亦乐乎。 目前的Julia只允许方法属于模块,而不能归属于类。这个实在不爽。但今天说的事情可能会让更多人不爽。 官方文档上的前三个,Abstract Types, Primitive Types,Composite Types 先说抽象类型吧。 我试着自己定义个抽象类型,如官网所讲 abstract type «name» end abstract type «name» <: «supertype» end  假设我需要抽象 ...
#Map map=Dict([("A", 1), ("B", 2)]) println(map["A"]) println(haskey(map,"C")) #List list=Array{Int64}(undef,6) list[1]=34 println(list[1]) #or list=[1,15,3,4,5] println(list[2]) #str tstr="hello,world" v::Int64=Base.findlast("o&quo ...
Julia首先是个计算机编程语言,其次才是它宣称的面向科学计算的语言。 所以,计算机编程语言所必须的I/O肯定是要有的,文件的I/O下一篇文章讲,今天就讲网络I/O。    先引入一段超级强大的官版HTTP代码 using Pkg Pkg.add("HTTP") using HTTP HTTP.listen() do request::HTTP.Request @show request @show request.method @show HTTP.header(request, "Content-Type") ...
废话少说,上代码 module gson struct Goo name age::Int8 end function tojson() println("I'am toJson method") return "I'am toJson" end function tojsonWith(obj::gson.Goo) println("I'am toJson method with ",obj.name) end end  以上代码可以直接保存为gs ...
url:https://julialang.org/downloads/ 说明一下: windows版本提供exe程序包,傻瓜式安装,安装完毕自然知道怎么使用。 苹果系统提供dmg程序包,也等同于傻瓜式安装。 但是,linux的同学辛苦些,需要自行下载tar包自行解压和配置环境变量。 另外,推荐下载1.0版本,但需要注意,学习资料的更新问题。 最后,肯定会有一个IDE的头等大事需要考虑。多方查阅资料,决定使用ATOM结合Juno插件。   println("Hello,Julia")   _ _ _ _ ...
我一直希望有一门编程语言具备以下特点   类C,面向对象,跟系统底层的距离近些,有强大友好的标准库,语法不要像python那样强制要求缩进,最好不要有版本分裂(python听到没?被点名了。)不要像Java那样为了工业化而把语言设计得开发起来冗长(这个可以对比下python和java的文件IO读取)。速度快,跨平台,当然还要开源,有内存回收机制。   应该就是上面这些吧,我的要求好像很过分啊。   不过,终于,julia 出来了,1.0版本千呼万唤始出来,虽然有些语法定义和0.6有些冲突,但是好歹它承诺以后API的兼容性了。这算是个加分项,态度还是有的。 最可贵的是,上面的特点它 ...

Socket Server By C

/* ============================================================================ Name : TestServer.c Author : Version : Copyright : Your copyright notice Description : Hello World in C, Ansi-style ======================================================================= ...

TCP/UDP By Java

import java.io.*; import java.net.*; class TCPServer{ public static void main(String[] args)throws IOException{ ServerSocket listen = new ServerSocket(5050); Socket server = listen.accept(); InputStream in = server.getInputStream(); OutputStream out = server.getOutputStream( ...
1.动态库:  一、创建动态链接库1、创建工程new->project->c++ project选择Shared Library->Empty Project.输入工程名a,点击finish,完成工程的创建。   2、编写代码在windows下封装动态链接库时对要封的函数要用__declspec(dllexport)来标明,在linux下不用,在linux下只需要直接把要封的函数的声明放到一个。h文件中,要用这个库时将相应的。h文件加载到工程中。   3、生成动态链接库编译代码,成功后在Debug目录下会生成liba.so文件。   二、动态链接库的使用1、创建工 ...
在下载下来的spark里,有个样例程序叫做JavaSparkPi,大意是利用Spark的MapReduce函数求圆周率.   代码如下:   /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * T ...
概念:聚类算法是一种无监督学习任务,用于将对象分到具有高度相似性的聚类中. 举例:N个人有N多爱好,每个爱好提供出一个贡献值(或者称之为特征值),至于这个贡献值怎么得出目前不讨论.那么聚类算法就能实现根据这些特征值,把这N个人进行分组.   本人所在行业为轨道交通行业,致力于利用轴箱传感器采集到的数据进行故障诊断和预测.文中提到的数据源自真实采集数据.每行16个浮点型数值. 具体为: 最大值,最小值,平均值,均方值,有效值,方差,偏度,峭度,峰值,方根幅值,绝对平均值,波形指标,脉冲指标,裕度指标,峭度指标.   数据共计24000多条,假设人为复核,一条一条去过,那么必然浪费很 ...

Scala入门篇

 程序主入口类,基本覆盖了入门需要掌握的Scala知识。主要涵盖,变量定义,常量,类与对象,集合映射等常用方法。   package org.lean.scala import org.learn.clazz.Person import scala.collection.immutable.HashMap import scala.io.Source import java.io.PrintWriter import java.io.File object Main { private var myName: String = ""; ...
大概2010年接触过Scala,当年大致的了解便是这玩意儿是Java的Jquery版。至于Jquery对与Javascript来说是何等意义,大家自然知晓,也不用我废话连篇。Scala的数据类型全部相同于Java中,具有相同的内存占用和精度。以下表是有关可在Scala中所有的数据类型的细节:数据类型描述 Byte8位有符号值。范围从-128到127Short16位有符号值。范围从-32768至32767Int32 位有符号值。范围从 -2147483648 to 2147483647Long64位有符号值。 从-9223372036854775808到9223372036854775807F ...
系统:LinuxMint mate 17.2 32bit gcc:gcc version 4.8.4 (Ubuntu 4.8.4-2ubuntu1~14.04) rpcgen:rpcgen (Ubuntu EGLIBC 2.19-0ubuntu6.6) 2.19   rpc依赖库 portmap或者 rpcbind 可执行 apt-get install portmap 进行安装,准备完毕后,详见以下步骤 创建规格文件 math.x,内容如下 /* filename: math.x */ const ADD = 0; const SUB = 1; const MUL = ...
介绍 libevent是一个事件触发的网络库,适用于windows、linux、bsd等多种平台,内部使用select、epoll、kqueue、 IOCP等系统调用管理事件机制。著名分布式缓存软件memcached也是基于libevent,而且libevent在使用上可以做到跨平台,而且根 据libevent官方网站上公布的数据统计,似乎也有着非凡的性能。   主要组成 libevent包括事件管理、缓存管理、DNS、HTTP、缓存事件几大部分。事件管理包括各种IO(socket)、定时器、信号等事件;缓存管理是 指evbuffer功能;DNS是libevent提供的一个异步DNS ...
Global site tag (gtag.js) - Google Analytics