duangsuse::Echo
715 subscribers
4.25K photos
127 videos
583 files
6.46K links
import this:
美而不丑、明而不暗、短而不凡、长而不乱,扁平不宽,读而后码,行之天下,勿托地上天国。
异常勿吞,难过勿过,叹一真理。效率是很重要,盲目最是低效。
简明是可靠的先验,不是可靠的祭品。
知其变,守其恒,为天下式;穷其变,知不穷,得地上势。知变守恒却穷变知新,我认真理,我不认真。

技术相干订阅~
另外有 throws 闲杂频道 @dsuset
转载频道 @dsusep
极小可能会有批评zf的消息 如有不适可退出
suse小站(面向运气编程): https://WOJS.org/#/
Download Telegram
#javascript #blog (虽然很简单)算法整理

https://blog.lwl12.com/read/ife-s-task01.html "IFE 2015 Summer Game Qihang TASK01"

Math.ceil(Math.random() * 3)

虽然只是很简单的表达式,我推敲了一会,主要是考虑概率平不平均,实际上很平均(主要是我数学不好 233

Math.random 会返回一个小数,介于 0 到 1 之间
三倍之后,0.1 0.2 0.3 (下的)会舍为 1 ( 0.9 最高
0.4 0.5 0.6 会舍为 2 ( 1.8 最高
0.7 0.8 0.9 会舍为 3 ( 2.7 最高

然后就是

function randomPos() {
return Math.ceil(Math.random() * 3);
}

function judge(userPos, botPos) {
if (userPos == botPos) return 0;

// 1: 石头 2: 剪刀 3: 布
if (userPos == 3 && botPos == 1) return -1;
if (botPos == 1 && userPos == 3) return 1;

if (userPos > botPos) return -1;

return 1; // bot wins
}


btw: JavaScript 没 goto 语法啊...
不知道能不能再搞个什么特别的加速啥的(billion 级的数据 23333 XD
JavaScript Number 数值一大就要溢出(划掉)损失精度,气死

还有我的 NodeJS v8 上居然没有 Integer 类,这是为何,而且 "use strict" 了尾递归优化也不能生效...
This media is not supported in your browser
VIEW IN TELEGRAM
(define fibonacci
(lambda (nth)
; 不会写了...
))

#cs #pl #scheme Y 组合子版本的 Fibonacci(其实只是我懒得输入 (fibonacci n 1 2) 然后从 《The Little Schemer》儿童书上抄写的模式 XD
至于为什么用 Y Combinator 实现递归是因为我不想多定义一个符号了(

(define fibonacci                           
(lambda (n a b)
(cond
((= 0 n) a + b)
(else (fibonacci (- n 1) b (+ a b))))))

(define fibo (lambda (n) (fibonacci n 1 2)))

或者,也可以使用匿名函数版本 这个我没有抄模式...

(define fibonacci
((lambda (fibonacci-def)
(lambda (n)
(cond
((= n 0) 0)
(else (fibonacci-def fibonacci-def (- n 1) 0 1))))) ; 我把这里能访问到的 fibonacci-def 传给了真正的子程序
(lambda (l nth a b) ; 第一项是这个 lambda 自身
(cond
((= nth 0) (+ a b))
(else (l l (- nth 1) b (+ a b)))))))

; 这是真的演算 lambda
(lambda (nth a b)
(cond
((= nth 0) (+ a b))
(else (fibonacci-def (- n 1)))))
由于使用了尾调用优化,Chez Scheme 可以轻松地把递归转化为高效率循环,Scheme 使用递归实现循环,目前这居然还是我第一次看到 TCO... 好感动 2333
duangsuse::Echo
由于使用了尾调用优化,Chez Scheme 可以轻松地把递归转化为高效率循环,Scheme 使用递归实现循环,目前这居然还是我第一次看到 TCO... 好感动 2333
我的 JavaScript Node v8.x
> fibonacci(999)
1.8412729310978296e+209

> fibonacci(9999)
RangeError: Maximum call stack size exceeded


奇妙的是,它居然还使用了 RangeError...
http://blog.tomtung.com/2012/10/yet-another-y-combinator-tutorial/

如果大家想了解的话,这里有一篇好教程,可惜是英文的比较难看
This media is not supported in your browser
VIEW IN TELEGRAM
duangsuse::Echo
🐶 Sticker
最近观察到人数回落,Cheers! 🎉

频道本来是给一些乐意学习并了解新知识、有趣的技术的人来的
所以可能不实用。作者自己水平不行而且连 Android 应用都不会写、PHP 也不会、Web 应用没写几个、游戏同上

是给类似的菜鸡们写的,一起进步,不然为何不去 @ice1000 或者 RednaxelaFX 等 CS 狂那里

如果你对这些无用的知识不感兴趣,欢迎 Leave Channel.

我很乐意有很多人看频道的消息,但是这些也都是虚的,现在除了高中生和部分大学生,大概没几个人愿意学不实用、不简单的知识了

duangsuse 的自我介绍现在是 "菜是原罪" Technical unfamiliar is the root of all evil
就是说 要通过不断的学习和尝试、写代码来弥补自己技术上,不管是哪方面哪怕是诸如动画效果、PHP 程序一类的无知,当然原话谁说的不重要(
duangsuse::Echo pinned «最近观察到人数回落,Cheers! 🎉 频道本来是给一些乐意学习并了解新知识、有趣的技术的人来的 所以可能不实用。作者自己水平不行而且连 Android 应用都不会写、PHP 也不会、Web 应用没写几个、游戏同上 是给类似的菜鸡们写的,一起进步,不然为何不去 @ice1000 或者 RednaxelaFX 等 CS 狂那里 如果你对这些无用的知识不感兴趣,欢迎 Leave Channel. 我很乐意有很多人看频道的消息,但是这些也都是虚的,现在除了高中生和部分大学生,大概没几个人愿意学不实用、不简单的知识了…»
duangsuse::Echo pinned «(不是引战,如果愿意留下的话更好»
Forwarded from LetITFly News (LetITFly | 让技术飞)
已可正常访问。
duangsuse::Echo
#recommended #project #php #laravel #web #dev https://github.com/MoePlayer/laravel-danmaku 这个项目作为 Laravel 纯 JSON + RDBMS 项目模板很好 几乎没有一行代码是多余的,全都准确易懂地描述了接口逻辑
一个同样的接口实现, #Ruby on #Rails 框架可能就要为自己复杂不堪的项目结构而担心了

https://github.com/MoePlayer/RailsGun

vendor tmp test public log lib/tasks db config bin app

足足十多个目录,猜猜他们都干些什么?接口真正的业务逻辑放在哪里呢?

其中很多文件甚至就只有一个空壳,类似

class ApplicationRecord < ActiveRecord::Base
self.abstract_class = true
end
#include "chinese.h"

无返回 misc();

noreturn 整数 main(整数 argc, 字符 数组(指向(argv))) 定义为
打印("你好世界") 然后
调用方法(misc) 然后 退出程序(0);
结束

函数 misc() 定义为
无限循环 做
打印("%c", 获取字符()) 然后
完成
结束