ShoneSharp语言(S#)的设计和使用介绍

系列(7)— 布尔Bool及对象Object

作者:Shone

声明:原创文章欢迎转载,但请注明出处,https://www.cnblogs.com/ShoneSharp。

摘要: 布尔值(对应C#的bool)表示是/否两种状态,对应关键字true、false。对象(对应C#的object)表示任意对象,是所有类型的基类型,关键字null表示空对象。Object 在S#中有大量的使用,用的好了熟了会让你领悟:看山是山;看山不是山;看山还是山

软件: S#语言编辑解析运行器(ShoneSharp.13.6.exe),运行环境.NET4.0,单EXE直接运行,绿色软件无副作用。网盘链接https://pan.baidu.com/s/1nv1hmJn

写博客还是蛮辛苦的,所以请大家再坚持一下,今天把布尔Bool及对象Object这两个类型介绍完后,后面将进入S#比较有特色的介绍,这里预告一下,看能不能多吸引点人气:

系列(7) —  最炫“公式”风

系列(8) —  一等公民“函数“爱

系列(9) —  富家子弟“语句“不炫富

系列(10)—  “类”披炫服靓妆化成“表”

一、布尔Bool

布尔(对应C#的bool)表示是/否两种状态,S#为之预留了两个关键字true、false。当然你也可以输入True/False,或是/否。

布尔值一般专门进行逻辑判断使用,几乎所有现代语言都支持该类型。

二、对象Object

对象(对应C#的object)表示任意对象,是所有类型的基类型,S#为之预留了一个关键字null,表示空对象。

编程语言素来有关于强类型与弱类型之优劣的争辩,其根源就在于Object这种类型(C++中是指针)神一般的存在。个人对强类型与弱类型意见取中庸之道,认为都有必要支持,各有利弊之处。

Object 在S#中有大量的使用,用的好了熟了,简直可以让你达到参禅之境界:看山是山,看水是水;看山不是山,看水不是水;看山还是山,看水还是水。

二话不说上S#代码:

{
1 + 2 ,
1 + [ 10 , 20 ] ,
[ 1 , 2 ] + 10 ,
[ 10 , 20 , 30 ] + [ 1 , 2 ] ,
cos( 30 ) ,
cos( [ 10 , 20 , 30 ] ) ,
cos( { 10 , [ 20 , 30 ] , 40 } ) ,
cos( {
a = 10 ,
b = 20 ,
c = [ 30 , 40 ] ,
d = { 50 , 60 } ,
f = { m = 90 }
} )
}
//计算结果:
{
3 ,
[ 11 , 21 ] ,
[ 11 , 12 ] ,
[ 11 , 22 , 32 ] ,
0.86602540378443871 ,
[
0.984807753012208 ,
0.93969262078590843 ,
0.86602540378443871
] ,
{
0.984807753012208 ,
[
0.93969262078590843 ,
0.86602540378443871
] ,
0.766044443118978
} ,
{
0.984807753012208 ,
0.93969262078590843 ,
[
0.86602540378443871 ,
0.766044443118978
] ,
{ 0.64278760968653936 , 0.5 } ,
{ 0 }
}
}

下面很多算符、函数、属性以及方法接受的参数就是Object,表明它们可以接受多种数据类型,具体可参见成员说明。

三、常量

Bool False

说明:否

输入:False

Bool True

说明:是

输入:True

Object Null

说明:空值

输入:Null

四、单目算符

! Object → Object

说明:对布尔值取反

输入:!true

求值:False

- Object → Object

说明:对象取负

输入:-10

~ Object → Object

说明:对数组、列表反转

输入:~[1,2,3]

求值:[3, 2, 1]

五、双目算符

Object != Object → Bool

说明:判断两个对象值是否完全不等

输入:5!=10

求值:True

Object ?? Object → Object

说明:非空取值

输入:null??10

求值:10

Object < Object → Object

说明:判断是否小于

输入:5<10

求值:True

Object <= Object → Object

说明:判断是否小于或等于

输入:5<=10

求值:True

Object == Object → Bool

说明:判断两个对象值是否完全相等

输入:5==10

求值:False

Object > Object → Object

说明:判断是否大于

输入:5>10

求值:False

Object >= Object → Object

说明:判断是否大于或等于

输入:5>=10

求值:False

Object % Object → Object

说明:对象相余

输入:10%3

求值:1

Object && Object → Object

说明:布尔值相与

输入:true && false

求值:False

Object & Object → Object

说明:连插数组

输入:[1,2] & [10,20]

求值:[1, 10, 20, 2]

Object * Object → Object

说明:对象相乘

输入:5*10

求值:50

Object / Object → Object

说明:对象相除

输入:10/3

求值:3.3333333333333335

Object ^ Object → Object

说明:对象乘方

输入:5^3

求值:125

Object - Object → Object

说明:对象相减

输入:5-10

求值:-5

Object | Object → Object

说明:交插数组

输入:[1,2] | [10,20]

求值:[1, 10, 2, 20]

Object || Object → Object

说明:布尔值相或

输入:true || false

求值:True

Object + Object → Object

说明:对象相加

输入:5+10

求值:15

六、其他符号

Object[Double:Double] → Object

说明:获取子元素数组

输入:[10,20,30,40][1:2]

求值:[20, 30]

Object[Object|Object[],...] → Object

说明:获取子元素

输入:[10,20,30][1]

求值:20

七、函数

Bool assert(bool arg,...)

说明:断言系列布尔值(true正常,false发生错误)

输入:assert(true)

求值:True

Object abs(Object obj)

说明:求绝对值

输入:abs(-100)

求值:100

Object acos(Object obj)

说明:求反余弦角度值

输入:acos(0.5)

求值:60

Object acosh(Object obj)

说明:求反双曲余弦弧度值

输入:acosh(1.5)

求值:0.96242365011920694

Object actg(Object obj)

说明:求反反切角度值

输入:actg(1)

求值:45

Object actgh(Object obj)

说明:求反双曲反切弧度值

输入:actgh(1.5)

求值:0.80471895621705014

Object among(Object t, Double d1, Double d2)

说明:求[d1,d2]区间参量t的线性插值

输入:among(0,8,0.25)

求值:8

Object asin(Object obj)

说明:求反正弦角度值

输入:asin(0.5)

求值:30

Object asinh(Object obj)

说明:求反双曲正弦弧度值

输入:asinh(0.5)

求值:0.48121182505960347

Object atg(Object obj)

说明:求反正切角度值

输入:atg(1)

求值:45

Object atgh(Object obj)

说明:求反双曲正切弧度值

输入:atgh(0.5)

求值:0.54930614433405489

Object ceil(Object obj)

说明:求上取整值

输入:ceil(9.8)

求值:10

Object ceil(Object obj, Double d)

说明:求按步长上取整值

输入:ceil(10.4,0.5)

求值:10.5

Object cos(Object obj)

说明:求角度余弦值

输入:cos(60)

求值:0.5

Object cosh(Object obj)

说明:求弧度双曲余弦值

输入:cosh(0.5)

求值:1.1276259652063807

Object ctg(Object obj)

说明:求角度反切值

输入:ctg(45)

求值:1

Object ctgh(Object obj)

说明:求弧度双曲反切值

输入:ctgh(0.5)

求值:2.1639534137386529

Object exp(Object obj)

说明:求自然幂值

输入:exp(10)

求值:22026.465794806718

Object floor(Object obj)

说明:求下取整值

输入:floor(9.4)

求值:9

Object floor(Object obj, Double d)

说明:求按步长下取整值

输入:floor(10.4,0.5)

求值:10

Object lg(Object obj)

说明:求10为底对数值

输入:lg(10)

求值:1

Object ln(Object obj)

说明:求自然对数值

输入:ln(10)

求值:2.3025850929940459

Object log(Object obj, Double newBase)

说明:求指定底对数值

输入:log(10,2)

求值:3.3219280948873626

Object param(Object d, Double d1, Double d2)

说明:求d对应[d1,d2]区间的参量

输入:param(4,0,8)

求值:0.5

Object round(Object obj)

说明:求四舍五入取整值

输入:round(10.5)

求值:11

Object round(Object obj, Double d)

说明:求按步长四舍五入取整值

输入:round(10.4,0.5)

求值:10.5

Object sign(Object obj)

说明:求符号值

输入:sign(-10)

求值:-1

Object sin(Object obj)

说明:求角度正弦值

输入:sin(30)

求值:0.5

Object sinh(Object obj)

说明:求弧度双曲正弦值

输入:sinh(0.5)

求值:0.52109530549374738

Object sqrt(Object obj)

说明:求平方根值

输入:sqrt(10)

求值:3.1622776601683795

Object tg(Object obj)

说明:求角度正切值

输入:tg(45)

求值:1

Object tgh(Object obj)

说明:求弧度双曲正切值

输入:tgh(0.5)

求值:0.46211715726000974

Object trunc(Object obj)

说明:求截取整值

输入:trunc(9.5)

求值:9

Object trunc(Object obj, Double d)

说明:求按步长截取整值

输入:trunc(10.4,0.5)

求值:10

八、属性

String Object.OutCsv

说明:返回对应的Csv字符串

输入:x.OutCsv

String Object.OutStr

说明:返回对应的表示字符串

输入:x.OutStr

String Object.SpanStr

说明:转换为跨径字符串

输入:x.SpanStr

String Object.ToStr

说明:转换为对应字符串

输入:x.ToStr

String Object.TypeName

说明:类型名

输入:x.TypeName

String Object.XYShortStr

说明:对应的XY简化文本

输入:x.XYShortStr

String Object.XYStr

说明:对应的XY文本

输入:x.XYStr

String Object.XYZShortStr

说明:对应的XYZ简化文本

输入:x.XYZShortStr

String Object.XYZStr

说明:对应的XYZ文本

输入:x.XYZStr

最近三个章节按数据类型和成员分类进行介绍不会漏项,但是缺点是初学者看起来比较容易迷糊,内容也显得枯燥让人打瞌睡。不过总算结束了,有了这四块看不起眼的砖头,后面大家来看看可以砌成什么样的大楼。

声明:原创文章欢迎转载,但请注明出处,https://www.cnblogs.com/ShoneSharp。

软件: S#语言编辑解析运行器(ShoneSharp.13.6.exe),运行环境.NET4.0,单EXE直接运行,绿色软件无副作用。网盘链接https://pan.baidu.com/s/1nv1hmJn

ShoneSharp语言(S#)的设计和使用介绍系列(7)— 布尔Bool及对象Object的更多相关文章

  1. ShoneSharp语言(S#)的设计和使用介绍系列(1)— 开篇

    ShoneSharp语言(S#)的设计和使用介绍 系列(1)- 开篇 作者:Shone 声明:原创文章欢迎转载,但请注明出处,https://www.cnblogs.com/ShoneSharp. 一 ...

  2. ShoneSharp语言(S#)的设计和使用介绍系列(4)— 入门概述

    ShoneSharp语言(S#)的设计和使用介绍 系列(4)- 入门概述 作者:Shone 声明:原创文章欢迎转载,但请注明出处,https://www.cnblogs.com/ShoneSharp. ...

  3. ShoneSharp语言(S#)的设计和使用介绍系列(3)— 修炼工具

    ShoneSharp语言(S#)的设计和使用介绍 系列(3)- 修炼工具 作者:Shone 声明:原创文章欢迎转载,但请注明出处,https://www.cnblogs.com/ShoneSharp. ...

  4. ShoneSharp语言(S#)的设计和使用介绍系列(2)— 掀开盖头

    ShoneSharp语言(S#)的设计和使用介绍 系列(2)- 掀开盖头 作者:Shone 声明:原创文章欢迎转载,但请注明出处,https://www.cnblogs.com/ShoneSharp. ...

  5. ShoneSharp语言(S#)的设计和使用介绍系列(11)—“类”披炫服靓妆化成“表”

    ShoneSharp语言(S#)的设计和使用介绍 系列(11)—“类”披炫服靓妆化成“表” 作者:Shone 声明:原创文章欢迎转载,但请注明出处,https://www.cnblogs.com/Sh ...

  6. ShoneSharp语言(S#)的设计和使用介绍系列(10)— 富家子弟“语句“不炫富

    ShoneSharp语言(S#)的设计和使用介绍 系列(10)— 富家子弟“语句“不炫富 作者:Shone 声明:原创文章欢迎转载,但请注明出处,https://www.cnblogs.com/Sho ...

  7. ShoneSharp语言(S#)的设计和使用介绍系列(9)— 一等公民“函数“爱炫巧

    ShoneSharp语言(S#)的设计和使用介绍 系列(9)— 一等公民“函数“爱炫巧 作者:Shone 声明:原创文章欢迎转载,但请注明出处,https://www.cnblogs.com/Shon ...

  8. ShoneSharp语言(S#)的设计和使用介绍系列(8)— 最炫“公式”风

    ShoneSharp语言(S#)的设计和使用介绍 系列(8)— 最炫“公式”风 作者:Shone 声明:原创文章欢迎转载,但请注明出处,https://www.cnblogs.com/ShoneSha ...

  9. ShoneSharp语言(S#)的设计和使用介绍系列(6)— 字符串String

    ShoneSharp语言(S#)的设计和使用介绍 系列(6)— 字符串String 作者:Shone 声明:原创文章欢迎转载,但请注明出处,https://www.cnblogs.com/ShoneS ...

随机推荐

  1. 腾讯视频怎么转成mp4模式 软件 工具 方法 最新【已解决】

    1.搜索: 小白兔视频格式在线转换 2.转换好后视频已经是MP4格式了. 转载于:https://blog.51cto.com/14204019/2396896

  2. jQuery里面click、this事件遇到(Django模型里for)相同的id名和class名想获取值

    遇到的原型是这样的!下面我把它简化一下; click事件: 在浏览器里面只能获取横线上面的值,和下面的第一个值!! 这是因为id等级比class高,而且js要求id不能重复! 当 转载于:https: ...

  3. iOS开发·runtime原理与实践: 消息转发篇(Message Forwarding) (消息机制,方法未实现+API不兼容奔溃,模拟多继承)...

    本文Demo传送门: MessageForwardingDemo 摘要:编程,只了解原理不行,必须实战才能知道应用场景.本系列尝试阐述runtime相关理论的同时介绍一些实战场景,而本文则是本系列的消 ...

  4. centos安装libconfig

    安装很简单,生成的.so文件会被安装到/usr/local/lib目录,记得修改/etc/profile. 安装过程会出现两个错误: What is makeinfo, and how do I ge ...

  5. Java 常用API(一)

    目录 Java 常用API(一) 1. Scanner类 引用类型的一般使用步骤 Scanner的使用步骤 例题 2. 匿名对象 概述 匿名对象作为方法的参数 匿名对象作为方法的返回值 3. Rand ...

  6. grep 如何自动标注颜色

    首先 最后一行加入 保存 然后source ~/.bashrc 然后来试一下效果

  7. 【Scala】用实例弄清楚scala几种函数的定义和特点

    文章目录 作为参数的函数 匿名函数 柯里化函数(currying) 闭包函数 作为参数的函数 scala> val a1 = Array(1,2,3,4) //这是一个数组 a1: Array[ ...

  8. spark-2.4.5 安装记录

    参考 https://data-flair.training/blogs/install-apache-spark-multi-node-cluster/ 下载 spark 地址为 http://sp ...

  9. JDBC06 其他操作及批处理Batch

    灵活指定SQL语句中的变量 -PreparedStatement 对存储过程进行调用 -CallableStatement 运用事务处理 -Transaction 批处理 -Batch -对于大量的批 ...

  10. [hdu5254]BFS

    题意:如果一个格子的相邻四个格子中存在两个格子被标记,且这两个格子有公共点,那么这个格子也被标记.给定初始的标记状态,求最终有多少个格子被标记了 思路: 依次对每个格子进行处理,看它能否”生成“新的被 ...