scala eval】的更多相关文章

package com.jason case class JJ(d: Double*) object Ss { def main(args: Array[String]): Unit = { import scala.reflect.runtime.universe._ import scala.tools.reflect.ToolBox val code = """(x: String) => x.replace("$", ""…
Scala Macros对scala函数库编程人员来说是一项不可或缺的编程工具,可以通过它来解决一些用普通编程或者类层次编程(type level programming)都无法解决的问题,这是因为Scala Macros可以直接对程序进行修改.Scala Macros的工作原理是在程序编译时按照编程人员的意旨对一段程序进行修改产生出一段新的程序.具体过程是:当编译器在对程序进行类型验证(typecheck)时如果发现Macro标记就会将这个Macro的功能实现程序(implementation…
此文已转至http://cn.abnerchou.me/2014/02/23/fa87ae80/ 原文:点我 原文翻译:点我 首先了解下CodeEval是做什么的: A tool for auto evaluating programming challenges in C/C++/Java/Python/Ruby/PHP/Perl/ Scala/Clojure/C#/Tcl/JavaScript/ Haskell/Go/Bash/Lua and many more. 重点是这个Programm…
1 简介 近期对Scala比较感兴趣,买了本<快学Scala>,感觉不错.比<Programming Scala:Tackle Multi-Core Complexity on the Java Virtual Machine>好很多. 是本不错的入门书.而且每个章节都设置了难度级别,每章有习题,可以巩固Scala语法. 本文的目的就是针对这些习题进行解答 2 基础  2.1 在Scala REPL中键入3,然后按Tab键.有哪些方法可以被应用? 这个....直接操作一遍就有结果了…
LuaJ I was reading over the list of features that CurioDB lacks compared to Redis , that I’d previously documented. It contained the item “no Lua scripting”, which I’d written confidently at the time, certain that I wouldn’t possibly be able to imple…
scala 1.   scala的由来 scala是一门多范式的编程语言,一种类似java的编程语言[2] ,设计初衷是要集成面向对象编程和函数式编程的各种特性. java和c++的进化速度已经大不如从前,那么乐于使用更现代的语言特性的程序员们正在将眼光移向他处.scala是一个很有吸引力的选择:事实上,在我看来,对于想要突破和超越java或者c++的程序员而言,scala是最具吸引力的一个.scala的语法十分简洁,相比java的样板代码,scala让人耳目一新.scala运行于java虚拟机…
在前面几篇关于数据库引擎的讨论里很多的运算函数都返回了scala.Future类型的结果,因为我以为这样就可以很方便的实现了non-blocking效果.无论任何复杂的数据处理操作,只要把它们包在一个Future{...}里扔给系统运算就算完事不理了,马上可以把关注放到编程的其它部分了.在3月17日的深圳scala用户meetup里我做了个关于scala函数式编程的分享,里面我提到现在使用最多的函数组件就是scala.Future了.我想这应该在scala用户群里是个比较普遍的现象:大家都认为这…
author:Michel Schinz,Philipp Haller 1. 简介 本文将该要的介绍Scala语言和其编译.这里假设读者已经有一定的java开发经验,需要概要的了解他们可以用Scala 做些什么. 2. 第一个例子 我们用全世界最著名的代码来作为开始.虽然没什么用,但是可以很好地直观的了解Scala: object HelloWorld { def main(args: Array[String]): Unit = { println("Hello, world!")…
看到这里有几个有意思的 规则,转载于此: Read Eval Print Loop (REPL) REPL在Scala里面指的是直接运行scala.exe进入的交互式命令行模式.广义上讲,也泛指那些在线编程工具. 核心规则1:请使用REPL来熟悉Scala语言. Scala的REPL有个好处是能够将我们输入的每行代码的内部表示反馈出来.比如: scala> def add(a:Int, b:Int):Int = a + b add: (a: Int, b: Int)Int 我们定义一个函数,完成…
因为Spark项目需要,学习Scala编程. 从官网文档入手:http://www.scala-lang.org/documentation/ 首先从他的Older Documentation入手. 第一篇是Brief Scala Tutorial 只有20页,对于有Java基础的人来说上手很快 其中有几点值得注意 (1)函数式编程 object Timer { def oncePerSecond(callback: () => Unit) { while (true) { callback()…
最近刚好有同事在学习MongoDB,我们讨论过MongoDB应该置于服务器端然后通过web-service为客户端提供数据的上传下载服务.我们可以用上节讨论的respapi框架来实现针对MongoDB的CRUD操作.在谈到restapi之前我在这篇讨论先介绍一下MongoDB数据库操作的scala编程,因为与传统的SQL数据库操作编程有比较大的差别. 在前面有关sdp (streaming-data-processor)系列的博文中有一段是关于MongoDBEngine的.刚好把这套工具的使用在…
在linux调试C/C++的代码需要通过gdb,调试java代码呢?那就需要用到jdb工具了.关于jdb的用法在网上大家都可以找到相应的文章,但是对scala进行调试的就比较少了.其实调试的大致流程都是一样的,只是需要注意一些细节的地方就可以了.下面就来简单说明一下.在这里关于scala和jdk的配置问题就不再详述了,下面进入正题吧. 首先放上调试用的scala代码hello.scala object hello { def main(args: Array[String]): Unit = {…
1, 在scala REPL中输入3. 然后按下tab键,有哪些方法可以被调用? 24个方法可以被调用, 8个基本类型: 基本的操作符, 等:     2,在scala REPL中,计算3的平方根,然后对该值求平方,现在这个结果跟3相差多少? scala.math.sqrt(3) res17: Double = 1.7320508075688772   scala.math.pow(res17,2) res18: Double = 2.9999999999999996   相差结果 3-res1…
你任说1个整数x,我任猜它的平方根为y,如果不对或精度不够准确,那我令y = (y+x/y)/2.如此循环反复下去,y就会无限逼近x的平方根.scala代码牛顿智商太高了println( sqr(10))  def sqr(n: Double )= { var k = 1.0; //可任取 while(Math.abs(k*k-n)>1e-9) //double不能用==比较 { k=(k+n/k)/2; } k }…
1.eval()与JSOn.parse的不同 eval() var c = 1; //全局变量 var jsonstr1 = '{"name":"a","company":"b","value":++c}'; var json1 = eval('(' + jsonstr1 + ')'); console.log(json1.value); c是全局变量为1,但是经过eval的解析,全局变量变成了2!(这样的…
作者:Syn良子 出处:http://www.cnblogs.com/cssdongl 转载请注明出处 用Scala编码的时候,经常会遇到scala集合和Java集合互相转换的case,特意mark一下,加深记忆 scala.collection.Iterable <=> java.lang.Iterable scala.collection.Iterable <=> java.util.Collection scala.collection.Iterator <=>…
1. 引言 什么是规则引擎 一个业务规则包含一组条件和在此条件下执行的操作,它们表示业务规则应用程序的一段业务逻辑.业务规则通常应该由业务分析人员和策略管理者开发和修改,但有些复杂的业务规则也可以由技术人员使用面向对象的技术语言或脚本来定制.业务规则的理论基础是:设置一个或多个条件,当满足这些条件时会触发一个或多个操作. 规则引擎(rule engine)是指将复杂的业务逻辑抽象成规则,然后使用特定的算法(比如Rete)对规则进行求值等操作.简单点说,规则引擎就是实现复杂业务逻辑的框架. 为什么…
IDEA工具安装及scala基本操作 目录 一. 1. 2. 3. 4. 二. 1. 2. 3. 三. 1. 2. 3. 4. 5. 6. 7. 四. 1. (1) (2) (3) (4) (5) (6) (7) (8) 2. (1) (2)         for 循环 (3) (4) (5) 3. (1) (2) (3) (4) (5) 4. (1) (2) (3) 5. (1) (2) (3) (4) (5) 6. (1) (2) (3) (4) 7. 8. 9. (1) (2) (3)…
在上期讨论中我们介绍了Scala Macros,它可以说是工具库编程人员不可或缺的编程手段,可以实现编译器在编译源代码时对源代码进行的修改.扩展和替换,如此可以对用户屏蔽工具库复杂的内部细节,使他们可以用简单的声明方式,通过编译器自动产生铺垫代码来实现工具库中各种复杂的类型.对象及方法函数的构建.虽然Def Macros可能具备超强的编程功能,但同时使用者也普遍认为它一直存有着一些严重的诟病:包括用法复杂.容易犯错.运算行为难以预测以及没用完善的集成开发环境工具(IDE)支持等.这些恶评主要是因…
反射reflection是程序对自身的检查.验证甚至代码修改功能.反射可以通过它的Reify功能来实时自动构建生成静态的Scala实例如:类(class).方法(method).表达式(expression)等.或者动态跟踪当前程序运算事件如:方法运算(method invocation).字段引用(field access)等.反射又分编译时段与运算时段反射即:compile-time-reflection及runtime-reflection.我们使用compile-time-reflect…
JSON.parse与eval和能将一个字符串解析成一个JSON对象,但还是有挺大区别. 测试代码 var A = "{ a: 1 , b : 'hello' }"; var B = "{ 'a': 1 , 'b' : 'hello' }"; var C = "{'a':1,'b':'hello'}"; var D = '{"a":1,"b":"hello"}'; var E = '{…
一.eval是基本使用规则 1 eval() 函数可计算某个字符串,并执行其中的的 JavaScript 代码. 2 eval(string) 3 string必需.要计算的字符串,其中含有要计算的 JavaScript 表达式或要执行的语句. 4 eval()只有一个参数. 5 eval使用比较不安全,忘慎重使用 二.eval的错误使用方法 1 如果传入的参数不是字符串,它直接返回这个函数. 2 如果参数是字符串,它会把字符串当成JavaScript代码进行编译,如果编译失败者抛出一个语法错误…
      变量 String yourPast = "Good Java Programmer"; val yourPast : String = "Good Java Programmer" val yourPast = "Good Java Programmer" var yourFuture = "Good Java Programmer" 自动类型推断:可变.不可变变量 class Money(amount:Int)…
包的绝对地址_root_.开始 如_root_.scala.collection.mutable.ArrayBuffer…
如果Scala定义变长参数 def sum(i Int*), 那么调用sum时,可以直接输入sum(1,2,3,4,5) 但是不可以sum(1 to 5) 必须要将1 to 5 强制为seq sum(1 to 5 :_*)…
Spark 是用Scala代码写的.为了调试Spark,做了如下尝试. 1.Eclipse下:Java 项目 ,Using Maven,编写了一个java 版Spark应用. Spark的代码(scala代码可以调试,但是查看变量极不方便,不忍直视,毕竟调试器时Java的,但代码是scala生成的字节码,还是有出入的). 2.Scala IDE下:Scala 项目,Using Maven,编写一个Scala版的Spark应用. 报找不到类的异常.解决该问题的方法是:http://scala-id…
解决办法:在 创建main文件夹和scala文件夹的时候,注意src与这两个文件夹不能同时设置为resources,否则就会产生报错,解决办法将src文件夹的resources取消,右键.…
Scala 访问修饰符基本和Java的一样,分别有:private,protected,public. 如果没有指定访问修饰符符,默认情况下,Scala对象的访问级别都是 public. Scala 中的 private 限定符,比 Java 更严格,在嵌套类情况下,外层类甚至不能访问被嵌套类的私有成员. 私有(Private)成员 用private关键字修饰,带有此标记的成员仅在包含了成员定义的类或对象内部可见,同样的规则还适用内部类. class Outer{ class Inner{ pr…
变量是一种使用方便的占位符,用于引用计算机内存地址,变量创建后会占用一定的内存空间. 基于变量的数据类型,操作系统会进行内存分配并且决定什么将被储存在保留内存中.因此,通过给变量分配不同的数据类型,你可以在这些变量中存储整数,小数或者字字母. 变量声明 在学习如何声明变量与常量之前,我们先来了解一些变量与常量. 一.变量: 在程序运行过程中其值可能发生改变的量叫做变量.如:时间,年龄. 二.常量: 在程序运行过程中其值不会发生变化的量叫做常量.如:数值 3,字符'A'. 在 Scala 中,使用…
Scala 与 Java有着相同的数据类型,下表列出了 Scala 支持的数据类型: Byte8位有符号补码整数.数值区间为 -128 到 127 Short16位有符号补码整数.数值区间为 -32768 到 32767 Int32位有符号补码整数.数值区间为 -2147483648 到 2147483647 Long64位有符号补码整数.数值区间为 -9223372036854775808 到 9223372036854775807 Float32位IEEE754单精度浮点数 Double64…