为什么 Ruby `**` 运算符的优先级高于一元 `-` ?

2023-12-04

这会导致这样的情况:

-1 ** 0.5 #=> -1

只有括号可以解决这个问题:

(-1) ** 0.5 #=> 6.123031769111886e-17+1.0i

这比预期的要差1.i,但基本可以接受。在我去抱怨 Ruby bug 之前,我想知道是否有某种原因造成这种情况?


许多语言通过按照数学运算顺序建模来定义其运算符优先级表。在数学中,求幂确实比乘法和一元否定具有更高的优先级is毕竟是乘法。

来自马茨reply到“对数字进行平方时省略其符号”:

有数学背景的人要求**优先 高于一元负数。这就是原因。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为什么 Ruby `**` 运算符的优先级高于一元 `-` ? 的相关文章

  • Ruby 的 GServer 只想在本地主机上工作

    TCPServer new port 创建一个可以为来自本地主机或远程计算机的请求提供服务的服务器 但是 GServer new port 创建的服务器只能服务来自本地主机的请求 查看GServer的源码 它调用了TCPServer new
  • “after_filter”如何/何时工作/运行?

    我正在使用 Ruby on Rails 3 1 我想知道 对于表现原因 无论是否after filter渲染视图文件后运行 也就是说 当用户访问我的应用程序 URL 时 他 她应该显示的相关视图文件先于渲染after filter运行或af
  • 如何从字符串中提取包含非英文字符的 URL?

    下面是一个简单的脚本 它采用其中包含德语 URL 的锚标记 并提取 URL encoding utf 8 require uri url URI extract a href M nchen a puts url http www exam
  • 使用 authlogic_api 进行 Rails REST API 访问

    我正在为 Steam 游戏编写 Rails 后端 API 该游戏只能通过 REST 调用访问 因此不需要特定于用户的身份验证 我正在努力实施authlogic api 插件 http github com phurni authlogic
  • 在heroku cedar上安装GEOS

    我们在 heroku cedar stack 上安装 GEOS 库时遇到了麻烦 我们遵循了这个指南 https devcenter spacialdb com Heroku html https devcenter spacialdb co
  • 为什么安装 Ruby on Rails 会生成错误“数组‘ruby_check_sizeof_voidp’的大小为负数”?

    安装 Ruby on Rails 时 通过gem install rails 您可能会收到以下错误消息 c Ruby193 include ruby 1 9 1 ruby ruby h 109 14 error size of array
  • 推送到 Heroku 时出错 - ...出现在组中 - Ruby on Rails

    我正在尝试将我的第一个 Rails 应用程序部署到 Heroku 但似乎遇到了问题 后git push heroku master and heroku rake db migrate我收到一条错误消息 SELECT posts count
  • Ruby“定义”?操作员工作错误?

    所以 我们有代码 class Foo def bar puts Before existent defined some variable puts Before not existent defined nonexistent varia
  • 如何清理除图像网址之外的 html 字符串?

    我正在尝试清理 html 字符串 但我想将图像网址列入白名单 我的代码 ActionView Base full sanitizer sanitize phrase meaning tags w img attributes w src 这
  • Ruby 中对象属性的 Uniq

    在数组中选择一个或多个属性唯一的对象的最优雅的方法是什么 这些对象存储在 ActiveRecord 中 因此使用 AR 的方法也可以 Use Array uniq http ruby doc org core 1 9 2 Array htm
  • Ubuntu 上 sqlite3-ruby 安装错误

    我在 sqlite3 ruby 安装过程中遇到以下错误 Building native extensions This could take a while ERROR Error installing sqlite3 ruby ERROR
  • ActionMailer最佳实践:调用模型或控制器中的方法?

    发送电子邮件通常是在对模型执行操作后调用的 但电子邮件本身是一个视图操作 我正在寻找您如何思考要问自己哪些问题来确定将操作邮件程序方法调用放在哪里 我见过 使用过它们 在模型方法中 相关但独立的关注点耦合不良 在模型的回调中 例如 afte
  • 使用 Ruby CSV 在第 1 行中进行非法引用

    我收到此错误 Illegal quoting in line 1 CSV MalformedCSVError 我的文件中的第 1 行如下 Status Internal ID Language Created At Updated At I
  • Ruby 中 return 的意义是什么?

    有什么区别return只需放置一个变量 如下所示 没有回报 def write code number of errors if number of errors gt 1 mood Ask me later else mood No Pr
  • Ruby on Rails:有条件地显示部分内容

    我不确定我在这里是否采用了最好的方法 但我有一个数据块 我想在搜索完成后显示它 并且之前根本不存在 首先 没有什么可显示的 其次它引用的模型为零 因此它抛出异常 我将此块放置在部分模板中 并将其添加到布局中的适当位置 有没有办法有条件地干净
  • 设计不能很好地处理 RoR3 应用程序上的多个子域

    我看到了很多关于这个主题的问题 但其中很多都有相互矛盾的信息 并且由于某种原因它对我不起作用 I have 顶级域名 即 lvh me 开发 每个用户都有子域 即 userdomain lvh me 登录表单位于顶级域 lvh me I w
  • Sinatra 启用:会话不适用于乘客/apache

    我在启用 sessions 时遇到问题 以维持在 guest apache 上托管的简单 Sinatra 应用程序 我将会话 authorized 的状态存储在cookie 中 当托管在 Rack Handler Mongrel 上时 它可
  • Rails 删除方法不起作用

    好吧 我在 Ruby on Rails 中的删除方法上遇到了这样的问题 我想 我尝试了我读过的所有内容 但它不起作用 也许你可以帮助解决这个问题 当我单击链接时 它会重定向到患者 1 confirm Are you sure 3F meth
  • MacOS 每秒唤醒次数错误

    构建 Rails 应用程序 ruby 2 4 0p0 Rails 5 1 4 并使用我的 Macbook Air MacOS High Sierra 10 13 2 进行本地测试 我不断遇到此问题 过去 241 秒内有 45001 次唤醒
  • 如何运行使用 Rails 模型的 Ruby 任务?

    我有一个带有一些基本模型的 Rails 应用程序 该网站显示从其他来源检索到的数据 因此 我需要编写一个 Ruby 脚本来在数据库中创建新实例 我知道我可以使用测试挂钩来做到这一点 但我不确定这在这里是否有意义 我不确定这个任务应该是什么样

随机推荐

  • 为什么 IEnumerator 继承自 IDisposable 而非泛型 IEnumerator 则不然?

    我注意到通用的IEnumerator
  • 我应该在 JavaScript 中使用 window.navigate 还是 document.location?

    使用 JavaScript 更改当前网页位置的首选方法是什么 我见过 window navigate 和 document location 都被使用 行为上有什么差异吗 浏览器实现有差异吗 window location href URL
  • 活动如何在不扩展 AppCompatActivity 的情况下使用工具栏

    我有一个活动HomeView它已经扩展了另一个活动并且不能扩展AppCompatActivity 但HomeView需要有一个工具栏 Android 文档说任何需要工具栏的活动都必须扩展AppCompatActivity 我怎样才能绕过这个
  • 在 JavaScript 中比较字符串时,为什么一个字符串比另一个字符串大?

    我从一本书上看到这段代码 var a one var b four a gt b will return true 但它没有提到为什么 一 比 四 大 我试过c a 并且它比a和b小 我想知道 JavaScript 如何比较这些字符串 因为
  • 检查 Internet 和特定站点是否在 JavaScript/AJAX 中正常运行

    我有一个在我的设备上本地运行的页面 我想使用 AJAX 或普通 JavaScript 来检查设备是否已连接到互联网and如果某个特定站点已启动 此外 我试图弄清楚如何通过 AJAX 计算 RSS 提要中的条目数 但我以前从未围绕 RSS 进
  • 对数据库进行更改后如何保存DataSet?

    如果我有一个名为 myDs 的数据集 并且我通过在循环中直接访问来编辑其中的字段 如下所示 for int i 0 i lt myDS Tables TableName Rows Count i some function or web m
  • 核心数据在枚举时发生变异

    我在核心数据方面遇到了一个恼人的问题 我的应用程序需要从 iPhone 获取联系人并将其保存在我的数据库中 我正在尝试在后台线程中执行此操作 我使用上面的代码 self performSelectorInBackground selecto
  • Soundcloud API - 分别提取艺术家姓名和歌曲标题?

    查看 Soundcloud 文档 似乎您无法单独提取艺术家姓名和歌曲名称 或者我遗漏了什么 http developers soundcloud com docs api reference playlists IE 为了歌曲https s
  • VS2010总是重建解决方案?

    我有一个包含 40 个项目的解决方案 我最近将每个项目的输出路径重新配置为以下值 输出 对每个构建配置的 csproj 文件进行了更改 这一更改达到了预期目的 将所有已编译的程序集收集到一个文件夹中 但不寻常的副作用是 每次我点击 F5 调
  • 卡在比较器

    这是我的第一篇文章 这是针对 Java 7 的 有人可以告诉我为什么我无法访问 CompareIpaddress 类中的 first a 吗 我不知道为什么 SOF 不允许我发布这个 除非我输入更多的东西 这足够填充吗 谢谢 戈登 impo
  • 访问各种缓存和主内存的大致成本?

    谁能给我访问 L1 L2 和 L3 缓存以及 Intel i7 处理器上主内存的大致时间 以纳秒为单位 虽然这不是一个具体的编程问题 但了解这些类型的速度细节对于一些低延迟编程挑战是必要的 每个人都应该知道的数字 0 5 ns CPU L1
  • MySQL:如何将 varchar(255) UNIQUE 列更改为 UNIQUE Text NOT NULL?

    当前列是 VARCHAR 255 NOT NULL 那么如何将其更改为 TEXT NOT NULL 注意 要更改其属性类型的列是另一列的 UNIQUE KEY 组合 例如 唯一密钥 名称 描述 列描述当前采用 varchar 255 无法更
  • 如何使用 bash 替换 json 中的文本

    我正在尝试更换质量测试服务 by 测试服务在 JSON 文件中使用 bash 有人可以帮我吗 谢谢 JSON 文件 variables json variable qa test services default prod test 1 p
  • 使用 svlib 从 SystemVerilog 中的字符串中提取正则表达式匹配

    我是THE的新用户svlibSystemVerilog 环境中的封装 参考Verilab svlib 我有以下示例文本 PARAMATER lollg 1 SPEC ID 1G3HSB 1 我想使用正则表达式来提取1G3HSB从这段文字 我
  • 在 R 中使用 osmplotr 和 OpenStreetmap 绘制海域

    我正在尝试使用 Openstreetmap 通过osmplotrCRAN 上的软件包 绘制海岸线并将大海涂成蓝色 因为大海不是多边形 所以我尝试使用osm line2poly 将线条变成多边形 然而 下面的最小可重现示例给出了以下错误 Er
  • 使用 hbase 处理图像、视频和音频类型

    任何人都知道如何使用 Hbase 处理音频 视频和图像等非结构化数据 我尝试了很多 但没有任何想法 请提供任何帮助 选项1 将图像转换为字节数组 您可以准备放置请求并插入到表中 同样也可以实现音频和视频文件 See https docs o
  • C语言中的对象

    即使我浏览了一些 C 语言教程 笔记 我还是遇到了 对象 这个术语 我一直想知道对象与过程语言有什么关系 深入一点我可以理解 占用一块内存的东西在c中被称为 对象 我的问题是我的理解是否正确或者是否有我遗漏的东西 谢谢 来自C99标准草案
  • 如何存储/检索 RSA 公钥/私钥

    我想使用RSA公钥加密 存储或检索私钥和公钥的最佳方法是什么 XML 在这里是个好主意吗 如何获得钥匙 RSAParameters privateKey RSA ExportParameters true RSAParameters pub
  • ExpressJS:每 24 小时运行一次函数

    在 ExpressJS 中每 24 小时运行一次自动化函数的最简单方法是什么 除了运行无限循环之外 我到处寻找解决方案 原则上这是唯一的方法吗 你需要使用节点 cron npm var cron require node cron cron
  • 为什么 Ruby `**` 运算符的优先级高于一元 `-` ?

    这会导致这样的情况 1 0 5 gt 1 只有括号可以解决这个问题 1 0 5 gt 6 123031769111886e 17 1 0i 这比预期的要差1 i 但基本可以接受 在我去抱怨 Ruby bug 之前 我想知道是否有某种原因造成