R
เทคนิคนี้ไม่ใช่ข้อผิดพลาด แต่เป็นคำเตือน แต่ก็ไร้สาระและเกิดขึ้นได้ด้วยเหตุผลลึกลับอย่างสมบูรณ์
[[แก้ไข]] ดูเหมือนว่าสาเหตุของบางส่วนของคำเตือนตลกอยู่ใน RStudio มากกว่า R ต่อ se ดังนั้นมันจึงน่าสนใจน้อยกว่าที่ฉันคิดไว้ครั้งแรก ตัวอย่างแรกคือplot(1:2, NotAGraphicalParameter = "ignore.me")
คืออย่างไรก็ตามยังคงสามารถทำซ้ำได้ใน "เปล่า" R และเป็นเรื่องตลกมากพอที่สิทธิของตนเอง [[/ แก้ไข]]
> plot(1:2, NotAGraphicalParameter = "ignore.me")
# produces a nice scatterplot with two points, [1,1] and [2,2]
Warning messages:
1: In plot.window(...) :
"NotAGraphicalParameter" is not a graphical parameter
2: In plot.xy(xy, type, ...) :
"NotAGraphicalParameter" is not a graphical parameter
3: In axis(side = side, at = at, labels = labels, ...) :
"NotAGraphicalParameter" is not a graphical parameter
4: In axis(side = side, at = at, labels = labels, ...) :
"NotAGraphicalParameter" is not a graphical parameter
5: In box(...) : "NotAGraphicalParameter" is not a graphical parameter
6: In title(...) : "NotAGraphicalParameter" is not a graphical parameter
> plot(2:3)
# another nice scatterplot: [2,2] and [3,3]
# but there should be nothing wrong this time!
# however ...
There were 12 warnings (use warnings() to see them)
> warnings()
Warning messages:
1: "NotAGraphicalParameter" is not a graphical parameter
2: "NotAGraphicalParameter" is not a graphical parameter
3: "NotAGraphicalParameter" is not a graphical parameter
4: "NotAGraphicalParameter" is not a graphical parameter
5: "NotAGraphicalParameter" is not a graphical parameter
6: "NotAGraphicalParameter" is not a graphical parameter
7: "NotAGraphicalParameter" is not a graphical parameter
8: "NotAGraphicalParameter" is not a graphical parameter
9: "NotAGraphicalParameter" is not a graphical parameter
10: "NotAGraphicalParameter" is not a graphical parameter
11: "NotAGraphicalParameter" is not a graphical parameter
12: "NotAGraphicalParameter" is not a graphical parameter
# but let's try once more:
> plot(2:3)
# yup. no warnings this time. we had to do it twice
มันเหมือนกับที่ R จดจำการดูถูกของเรา แต่ไม่นาน
ฉันไม่สามารถอธิบายได้ว่าทำไมสิ่งนี้ถึงเกิดขึ้น - แต่มันสามารถทำซ้ำได้ ที่จริงแล้วมันเกิดขึ้นทุกครั้งเมื่อคุณจัดหา "ไม่ใช่พารามิเตอร์กราฟิก" ให้กับพล็อต 1 จากนั้นทำพล็อต 2 ด้วยวิธีที่ไร้ที่ติอย่างสมบูรณ์ เป็นเรื่องตลกโดยเฉพาะอย่างยิ่งที่เราได้รับ 12 "ไม่ใช่พารามิเตอร์กราฟิก" คำเตือนสำหรับพล็อตที่สอง แต่เพียง 6 สำหรับคนแรก อีกสิ่งที่ตลกคือถ้าคุณให้ "ไม่ใช่พารามิเตอร์กราฟิก" ด้วยค่า NULL แล้วไม่มีเงื่อนไขถูกโยน:
plot(1:2, Nonsense=NULL)
# no warnings
# however
plot(1:2, Nonsense="gibberish")
# gives the usual 6-pack of warnings
และเพื่อให้ไร้สาระยิ่งขึ้นลองวาดเส้นบนพล็อตที่วาดไว้ก่อนหน้านี้:
plot(1:2)
# you will see the number of warnings growing with each line:
lines(1:2, 1:2, mumbo = 1)
lines(1:2, 1:2, jumbo = 2)
lines(1:2, 1:2, bimbo = 3)
lines(1:2, 1:2, cucaracha = 4)
lines(1:2, 1:2, karaoke = 5)
lines(1:2, 1:2, radiogaga = 6)
lines(1:2, 1:2, reptiles = 7)
lines(1:2, 1:2, cowsonmoon = 8)
lines(1:2, 1:2, stainlessSteelLadderToTheMoon = 9)
lines(1:2, 1:2, frambuesa = 10)
lines(1:2, 1:2, fresa = 11)
lines(1:2, 1:2, limonYNada = 12)
lines(1:2, 1:2, slingsAndArrows = 13)
# ... and now you have 25 warnings:
warnings()
Warning messages:
1: "mumbo" is not a graphical parameter
2: "jumbo" is not a graphical parameter
3: "bimbo" is not a graphical parameter
4: "cucaracha" is not a graphical parameter
5: "karaoke" is not a graphical parameter
6: "radiogaga" is not a graphical parameter
7: "reptiles" is not a graphical parameter
8: "cowsonmoon" is not a graphical parameter
9: "stainlessSteelLadderToTheMoon" is not a graphical parameter
10: "frambuesa" is not a graphical parameter
11: "fresa" is not a graphical parameter
12: "limonYNada" is not a graphical parameter
13: "mumbo" is not a graphical parameter
14: "jumbo" is not a graphical parameter
15: "bimbo" is not a graphical parameter
16: "cucaracha" is not a graphical parameter
17: "karaoke" is not a graphical parameter
18: "radiogaga" is not a graphical parameter
19: "reptiles" is not a graphical parameter
20: "cowsonmoon" is not a graphical parameter
21: "stainlessSteelLadderToTheMoon" is not a graphical parameter
22: "frambuesa" is not a graphical parameter
23: "fresa" is not a graphical parameter
24: "limonYNada" is not a graphical parameter
25: In plot.xy(xy.coords(x, y), type = type, ...) :
"slingsAndArrows" is not a graphical parameter
สิ่งนี้ควร ไม่ ชนะครั้งใหญ่เว้นแต่ว่าไม่มีความยุติธรรม
import sys; sys.setrecursionlimit(~-2**31); x=lambda x:x(x); x(x);