易语言找图找字 200
求一个易语言找图找字源码,在全屏范围内,比如要搜索我的电脑这几个字,找到后用鼠标单击一下,不要按键精灵的,要易语言源码,有模块的附上,谢谢,满分送...
求一个易语言找图找字源码,在全屏范围内,比如要搜索我的电脑这几个字,找到后用鼠标单击一下,不要按键精灵的,要易语言源码,有模块的附上,谢谢,满分送
展开
展开全部
要不题主看看这个?拿相同的技术去稍微改改适应一下汉字,这汉字编程(汉语编程多不贴切,还是汉字编程好)就要漂亮多了,哪有你的图贴的代码这么丑的东西,不管是伪的还是真的。
汉字编程居然还要空格和标点符号来帮助编译器编译,那还算什么汉字编程,明明只是一个本地化了的字母语言好吗。我觉得伪自然语言编程唯一可以接受的标点符号用法,就是表达数学表达式,或者因为歧义所以要用括号来确定优先级,其他的都是耍流氓。
至于易语言后端如何如何,反正这些静态类型语言只要过了语法分析,后面的都是一样的,不予评论。
Hello world
module hello world
using standard library
sentence print (message)
redirect to "printf"
end
phrase sum from (start) to (end)
set the result to 0
repeat with the current number from start to end
add the current number to the result
end
end
phrase main
print "1+ ... +100 = " & sum from 1 to 100
end
vczh/tinymoe · GitHubGeometry (Multiple dispatching)module geometry
using standard library
phrase square root of (number)
redirect to "Sqrt"
end
sentence print (message)
redirect to "Print"
end
type rectangle
width
height
end
type triangle
a
b
c
end
type circle
radius
end
phrase area of (shape)
raise "This is not a shape."
end
phrase area of (shape : rectangle)
set the result to field width of shape * field height of shape
end
phrase area of (shape : triangle)
set a to field a of shape
set b to field b of shape
set c to field c of shape
set p to (a + b + c) / 2
set the result to square root of (p * (p - a) * (p - b) * (p - c))
end
phrase area of (shape : circle)
set r to field radius of shape
set the result to r * r * 3.14
end
phrase (a) and (b) are the same shape
set the result to false
end
phrase (a : rectangle) and (b : rectangle) are the same shape
set the result to true
end
phrase (a : triangle) and (b : triangle) are the same shape
set the result to true
end
phrase (a : circle) and (b : circle) are the same shape
set the result to true
end
phrase main
set shape one to new triangle of (2, 3, 4)
set shape two to new rectangle of (1, 2)
if shape one and shape two are the same shape
print "This world is mad!"
else
print "Triangle and rectangle are not the same shape!"
end
end
vczh/tinymoe · GitHubMake your own "yield return" (coroutine)module enumerable
using standard library
symbol yielding return
symbol yielding break
type enumerable collection
body
end
type collection enumerator
value
coroutine
end
cps (state) (continuation)
category
inside ENUMERATING
sentence yield return (value)
pause coroutine to yielding return with continuation and value
end
cps (state) (continuation)
category
inside ENUMERATING
sentence yield break
pause coroutine to yielding break with continuation and null
end
phrase new enumerator from (enumerable)
set coroutine to new coroutine from (field body of enumerable)
set the result to new collection enumerator of (null, coroutine)
end
cps (state) (continuation)
sentence move (enumerator) to the next
set coroutine to field coroutine of enumerator
if not (coroutine coroutine stopped)
run coroutine coroutine
select field flag of state
case yielding return
set field value of enumerator to field argument of state
continue coroutine coroutine
case yielding break
set field value of enumerator to null
stop coroutine coroutine
case null
set field value of enumerator to null
stop coroutine coroutine
case else
fall into the previous trap
end
end
end
phrase (enumerator) reaches the end
set the result to coroutine field coroutine of enumerator stopped
end
phrase current value of (enumerator)
set the result to field value of (field value of enumerator)
end
cps (state)
category
start ENUMERATING
closable
block (body) create enumerable to (assignable receiver)
set receiver to new enumerable collection of ()
set field body of receiver to body
end
block (sentence deal with (item)) repeat with (argument item) in (items : enumerable collection)
set enumerator to new enumerator from items
repeat while not (enumerator reaches the end)
move enumerator to the next
deal with current value of enumerator
end
end
sentence print (message)
redirect to "Print"
end
phrase main
create enumerable to numbers
repeat with i from 1 to 10
print "Enumerating " & i
yield return i
end
end
repeat with number in numbers
if number >= 5
break
end
print "Printing " & number
end
end
vczh/tinymoe · GitHubMake your tinymoe-unit (Unit test and assertion)module unit test
using standard library
sentence print (message)
redirect to "Print"
end
block (sentence run the test case) test case (name)
try
run the test case
print "PASS: " & name
catch exception
select exception
case "AssertionFailure"
print "FAIL: " & name
case else
print "HALT: " & name
end
end
end
sentence assert (actual value) should be (expected value)
if actual value <> expected value
assert fail
end
end
sentence assert fail
raise "AssertionFailure"
end
phrase main
test case "1+1=2"
assert (1 + 1) should be 2
end
end
汉字编程居然还要空格和标点符号来帮助编译器编译,那还算什么汉字编程,明明只是一个本地化了的字母语言好吗。我觉得伪自然语言编程唯一可以接受的标点符号用法,就是表达数学表达式,或者因为歧义所以要用括号来确定优先级,其他的都是耍流氓。
至于易语言后端如何如何,反正这些静态类型语言只要过了语法分析,后面的都是一样的,不予评论。
Hello world
module hello world
using standard library
sentence print (message)
redirect to "printf"
end
phrase sum from (start) to (end)
set the result to 0
repeat with the current number from start to end
add the current number to the result
end
end
phrase main
print "1+ ... +100 = " & sum from 1 to 100
end
vczh/tinymoe · GitHubGeometry (Multiple dispatching)module geometry
using standard library
phrase square root of (number)
redirect to "Sqrt"
end
sentence print (message)
redirect to "Print"
end
type rectangle
width
height
end
type triangle
a
b
c
end
type circle
radius
end
phrase area of (shape)
raise "This is not a shape."
end
phrase area of (shape : rectangle)
set the result to field width of shape * field height of shape
end
phrase area of (shape : triangle)
set a to field a of shape
set b to field b of shape
set c to field c of shape
set p to (a + b + c) / 2
set the result to square root of (p * (p - a) * (p - b) * (p - c))
end
phrase area of (shape : circle)
set r to field radius of shape
set the result to r * r * 3.14
end
phrase (a) and (b) are the same shape
set the result to false
end
phrase (a : rectangle) and (b : rectangle) are the same shape
set the result to true
end
phrase (a : triangle) and (b : triangle) are the same shape
set the result to true
end
phrase (a : circle) and (b : circle) are the same shape
set the result to true
end
phrase main
set shape one to new triangle of (2, 3, 4)
set shape two to new rectangle of (1, 2)
if shape one and shape two are the same shape
print "This world is mad!"
else
print "Triangle and rectangle are not the same shape!"
end
end
vczh/tinymoe · GitHubMake your own "yield return" (coroutine)module enumerable
using standard library
symbol yielding return
symbol yielding break
type enumerable collection
body
end
type collection enumerator
value
coroutine
end
cps (state) (continuation)
category
inside ENUMERATING
sentence yield return (value)
pause coroutine to yielding return with continuation and value
end
cps (state) (continuation)
category
inside ENUMERATING
sentence yield break
pause coroutine to yielding break with continuation and null
end
phrase new enumerator from (enumerable)
set coroutine to new coroutine from (field body of enumerable)
set the result to new collection enumerator of (null, coroutine)
end
cps (state) (continuation)
sentence move (enumerator) to the next
set coroutine to field coroutine of enumerator
if not (coroutine coroutine stopped)
run coroutine coroutine
select field flag of state
case yielding return
set field value of enumerator to field argument of state
continue coroutine coroutine
case yielding break
set field value of enumerator to null
stop coroutine coroutine
case null
set field value of enumerator to null
stop coroutine coroutine
case else
fall into the previous trap
end
end
end
phrase (enumerator) reaches the end
set the result to coroutine field coroutine of enumerator stopped
end
phrase current value of (enumerator)
set the result to field value of (field value of enumerator)
end
cps (state)
category
start ENUMERATING
closable
block (body) create enumerable to (assignable receiver)
set receiver to new enumerable collection of ()
set field body of receiver to body
end
block (sentence deal with (item)) repeat with (argument item) in (items : enumerable collection)
set enumerator to new enumerator from items
repeat while not (enumerator reaches the end)
move enumerator to the next
deal with current value of enumerator
end
end
sentence print (message)
redirect to "Print"
end
phrase main
create enumerable to numbers
repeat with i from 1 to 10
print "Enumerating " & i
yield return i
end
end
repeat with number in numbers
if number >= 5
break
end
print "Printing " & number
end
end
vczh/tinymoe · GitHubMake your tinymoe-unit (Unit test and assertion)module unit test
using standard library
sentence print (message)
redirect to "Print"
end
block (sentence run the test case) test case (name)
try
run the test case
print "PASS: " & name
catch exception
select exception
case "AssertionFailure"
print "FAIL: " & name
case else
print "HALT: " & name
end
end
end
sentence assert (actual value) should be (expected value)
if actual value <> expected value
assert fail
end
end
sentence assert fail
raise "AssertionFailure"
end
phrase main
test case "1+1=2"
assert (1 + 1) should be 2
end
end
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询